{"openapi":"3.0.0","info":{"title":"Web API v2 - Public ","description":"Documentation of the public web API.","version":"1.0.0"},"servers":[{"url":"https://eu1.make.com/api/v2","description":"EU1 production zone"},{"url":"https://eu2.make.com/api/v2","description":"EU2 production zone"},{"url":"https://us1.make.com/api/v2","description":"US1 production zone"},{"url":"https://us2.make.com/api/v2","description":"US2 production zone"},{"url":"https://eu1.make.celonis.com/api/v2","description":"Celonis EU1 production zone"},{"url":"https://us1.make.celonis.com/api/v2","description":"Celonis US1 production zone"}],"components":{"securitySchemes":{"token":{"type":"apiKey","name":"Authorization","in":"header","x-gitbook-prefix":"Token","x-gitbook-token-placeholder":"your-api-token","description":"Authorize the API call with your API token in the `Authorization` header with the value: `Token your-api-token`.\n\nIf you don't have an API token yet, please refer to the [\"Authentication\" section](/api-documentation/authentication) to learn how to create one.\n"}},"schemas":{"Team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"organizationId":{"type":"integer"},"activeScenarios":{"type":"integer","description":"Number of active scenarios in the team. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"activeApps":{"type":"integer","description":"Number of distinct apps that need a connection, used by the team's active scenarios. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"operationsLimit":{"type":"integer"},"transferLimit":{"type":"bigint"},"type":{"type":"string","enum":["standard","personal"],"description":"Distinguishes a standard team from a private space (`personal`). Only returned when requested via\n`cols[]=type`. Private spaces are included in the list only when `includePrivateSpaces=true`.\n"}}},"Team--Admin":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"organizationId":{"type":"integer"},"scenarioDrafts":{"type":"boolean","deprecated":true,"description":"This property is deprecated. It is only supported on private instances and ignored on Make's public cloud.\n"},"deleted":{"type":"boolean"},"externalId":{"type":"string"},"type":{"type":"string","enum":["standard","personal"],"description":"Distinguishes a standard team from a private space (`personal`). Only returned when requested via\n`cols[]=type`. Private spaces are included in the list only when `includePrivateSpaces=true`.\n"}}},"User":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}},"UserPublic":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}},"UserUpdate":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"usersAdminsRoleId":{"type":"integer"}}},"UserRole":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"identifier":{"type":"string"},"subsidiary":{"type":"boolean"},"category":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"managementType":{"type":"string","enum":["system_locked","admin_managed","custom_managed"],"description":"Indicates how the role is managed.","example":"system_locked"},"description":{"type":"string","nullable":true}}},"UserTeamRole":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}},"Pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"UserOrganizationInvitations":{"type":"object","properties":{"hash":{"type":"string"},"invitation":{"type":"string"},"usersRoleId":{"type":"integer"},"organizationId":{"type":"integer"},"organizationName":{"type":"string"},"zone":{"type":"string"}}},"UserOrganizationRole":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}},"UserOrganizationRoleAll":{"allOf":[{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}},{"type":"object","properties":{"organizationTeamsCount":{"type":"integer"},"joinedTeamsCount":{"type":"integer"}}}]},"UserTeamNotification":{"type":"object","properties":{"userId":{"type":"integer"},"teamId":{"type":"integer"},"notificationId":{"type":"integer"},"enabled":{"type":"boolean"}}},"ApiToken":{"type":"object","properties":{"token":{"type":"string","description":"The API token. Only the response of the create call contains the full value; the list masks everything after the first 8 characters."},"scope":{"type":"array","items":{"type":"string","format":"uri"}},"created":{"type":"string","format":"date-time"},"label":{"type":"string"},"organizationId":{"type":"integer","nullable":true,"minimum":1,"description":"ID of the organization the API token is scoped to. A scoped token works only within that organization: requests that target another organization, or that have no organization context (for example `GET /users/me/api-tokens` or `/admin` routes), are rejected. `null` means the token works in every organization the user belongs to."}}},"EmailPreferences":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"email":{"type":"string","format":"email"},"is_email_verified":{"type":"boolean"},"global":{"type":"object","properties":{"isEmailVerified":{"type":"boolean"},"preferences":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"label":{"type":"string"},"description":{"type":"string"}}}}}},"zones":{"type":"array","items":{}}}},"DataStructureWhole":{"type":"object","properties":{"id":{"type":"integer"},"teamId":{"type":"integer"},"name":{"type":"string","minLength":1,"maxLength":128},"strict":{"type":"boolean"},"spec":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["id","teamId","name","strict","spec"]},"DataStructureCreate":{"type":"object","properties":{"teamId":{"type":"integer","description":"The unique ID of the team in which the data structure will be created."},"name":{"type":"string","description":"The name of the data structure. The maximum length of the name is 128 characters.","minLength":1,"maxLength":128},"strict":{"type":"boolean","description":"Set to `true` to enforce strict validation of the data put in the data structure. With the strict validation enabled, the data structure won't store data that don't fit into the structure and the storing module will return an error.\n\nThe default value of this parameter is `false`. With the default setting, the modules using the data structure will process data that don't conform to the data structure.\n","example":true},"spec":{"type":"array","description":"Sets the data structure specification.","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["teamId","name","strict","spec"]},"DataStructurePatch":{"type":"object","properties":{"name":{"type":"string","description":"The name of the data structure. The maximum length of the name is 128 characters.","minLength":1,"maxLength":128},"strict":{"type":"boolean","description":"Set to `true` to enforce strict validation of the data put in the data structure. With the strict validation enabled, the data structure won't store data that don't fit into the structure and the storing module will return an error.\n\nThe default value of this parameter is `false`. With the default setting, the modules using the data structure will process data that don't conform to the data structure.\n","example":false},"spec":{"type":"array","description":"Sets the data structure specification.\n \nNote that when you update the data structure specification with the `spec` parameter, you have to provide all structure fields you want to use. Make replaces the old structure specification with the new one.\"\n","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}}},"DataStructureSpec":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]},"Device":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"info":{"type":"object"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"scenarioId":{"type":"integer"}}},"DeviceEnrichment":{"type":"object","description":"Simplified device information for enrichment purposes","properties":{"id":{"type":"integer","description":"Unique device identifier","example":123,"minimum":1},"udid":{"type":"string","description":"Universal Device Identifier (32-character hexadecimal string)","example":"a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6","pattern":"^[a-f0-9]{32}$","minLength":32,"maxLength":32},"teamId":{"type":"integer","description":"ID of the team/organization that owns this device","example":789,"minimum":1}},"required":["id","udid","teamId"],"additionalProperties":false},"DeviceEventIncoming":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"}}},"DeviceEventOutgoing":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"}}},"Dlq":{"type":"object","properties":{"id":{"type":"string"},"reason":{"type":"string"},"created":{"type":"string","format":"date-time"},"size":{"type":"integer"},"resolved":{"type":"boolean"},"retry":{"type":"boolean"},"attempts":{"type":"integer"}}},"DlqFull":{"type":"object","properties":{"id":{"type":"string"},"scenarioId":{"type":"integer"},"scenarioName":{"type":"string"},"companyId":{"type":"integer"},"companyName":{"type":"string"},"resolved":{"type":"boolean"},"deleted":{"type":"boolean"},"index":{"type":"integer"},"created":{"type":"string","format":"date-time"},"executionId":{"type":"string"},"retry":{"type":"boolean"},"attempts":{"type":"integer"},"size":{"type":"integer"}}},"DlqLog":{"type":"object","properties":{"imtId":{"type":"string"},"duration":{"type":"integer"},"transfer":{"type":"integer"},"operations":{"type":"integer"},"centicredits":{"type":"bigint"},"teamId":{"type":"integer"},"id":{"type":"string"},"type":{"type":"string"},"authorId":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer"},"instant":{"type":"boolean"},"organizationId":{"type":"integer"}}},"Blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}}},"Hook":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"type":{"type":"string"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"flags":{"type":"object","properties":{"form":{"type":"boolean"}}},"editable":{"type":"boolean"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"typeName":{"type":"string"},"data":{"type":"object","additionalProperties":true,"properties":{"headers":{"type":"boolean"},"method":{"type":"boolean"},"stringify":{"type":"boolean"},"teamId":{"type":"integer"},"ip":{"type":"string","format":"ipv6"},"udt":{"type":"integer"}}},"scenarioId":{"type":"integer"},"url":{"type":"string","format":"uri"}}},"OrganizationHookSearchItem":{"type":"object","required":["id","name","teamId","organizationId","type","enabled","gone","url"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"organizationId":{"type":"integer"},"type":{"type":"string"},"typeName":{"type":"string","nullable":true},"theme":{"type":"string","nullable":true,"format":"color"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"url":{"type":"string"}}},"HookEventIncoming":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"},"data":{"type":"object"}}},"Key":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"typeName":{"type":"string"},"teamId":{"type":"integer"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"scenarioUsages":{"type":"array","description":"Scenarios that use this key. Only returned when explicitly requested via `cols[]=scenarioUsages`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}},"KeyType":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"}}}},"componentType":{"type":"string"},"managed":{"type":"boolean","description":"When true, this key type is server-managed: its data is written only by a dedicated setup flow, and it is hidden from the generic key list unless explicitly requested via `?typeName=`. Absent/false for all other key types."},"creation":{"type":"object","description":"Describes how to create a key of this managed type. Only present when `managed` is true.","properties":{"mode":{"type":"string","example":"interactive"},"url":{"type":"string","example":"/ai-browser/context-setups"},"window":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}}}},"author":{"type":"string"},"version":{"type":"string"},"theme":{"type":"string","format":"color"},"icon":{"type":"string"}}},"Organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"serviceName":{"type":"string"},"nextReset":{"type":"string","format":"date-time"},"lastReset":{"type":"string","format":"date-time"},"isPaused":{"type":"boolean"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"deleted":{"type":"boolean"},"license":{"type":"object","additionalProperties":{}},"zone":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"productName":{"type":"string"},"ssoType":{"type":"string","nullable":true,"description":"The SSO authentication type configured for the organization. Possible values: 'oauth2', 'saml2', 'none', or null if not configured."},"scenarios":{"type":"integer"},"activeScenarios":{"type":"integer"},"tfaEnforced":{"type":"boolean","description":"Whether TFA is enforced for the organization."},"userSessionTimeout":{"type":"integer","description":"How long, in seconds, a user of the organization may stay inactive before being logged out.","example":86400},"featureControls":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}},"privateSpaces":{"type":"array","description":"The private spaces the requesting user is a member of within this organization.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"isOwner":{"type":"boolean","description":"Whether the requesting user owns this private space."},"hasAdminVisibility":{"type":"boolean","description":"Whether organization admins have visibility into this private space, i.e. whether the organization's \"add admins as observers\" private-spaces setting is currently enabled."}}}}}},"Notification":{"type":"object","properties":{"id":{"type":"string"},"subject":{"type":"string"},"read":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"type":{"type":"integer"}}},"NotificationAll":{"allOf":[{"type":"object","properties":{"id":{"type":"string"},"subject":{"type":"string"},"read":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"type":{"type":"integer"}}},{"type":"object","properties":{"body":{"type":"string"}}}]},"Connection":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accountName":{"type":"string"},"accountLabel":{"type":"string"},"packageName":{"type":"string"},"expire":{"type":"string","format":"date-time"},"metadata":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string","enum":["string","email"]}}},"teamId":{"type":"integer"},"theme":{"type":"string","format":"color"},"upgradeable":{"type":"boolean"},"scopesCnt":{"type":"integer"},"scoped":{"type":"boolean"},"accountType":{"type":"string"},"editable":{"type":"boolean"},"uid":{"type":"string"},"connectedSystemId":{"type":"string"},"organizationId":{"type":"integer"}}},"ConnectionAll":{"allOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accountName":{"type":"string"},"accountLabel":{"type":"string"},"packageName":{"type":"string"},"expire":{"type":"string","format":"date-time"},"metadata":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string","enum":["string","email"]}}},"teamId":{"type":"integer"},"theme":{"type":"string","format":"color"},"upgradeable":{"type":"boolean"},"scopesCnt":{"type":"integer"},"scoped":{"type":"boolean"},"accountType":{"type":"string"},"editable":{"type":"boolean"},"uid":{"type":"string"},"connectedSystemId":{"type":"string"},"organizationId":{"type":"integer"}}},{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"account":{"type":"string"}}}}}}]},"Template":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}},"TemplatePublic":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"usage":{"type":"integer"}}},"SdkApp":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"version":{"type":"integer"},"versionFull":{"type":"string"},"beta":{"type":"boolean"},"description":{"type":"string"},"theme":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"in_review":{"type":"boolean"},"modules":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"integer"},"public":{"type":"boolean"}}}},"opensource":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"table":{"type":"string"},"name":{"type":"string"},"column":{"type":"string"}}}}}},"SdkAppDetail":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"version":{"type":"integer"},"beta":{"type":"boolean"},"theme":{"type":"string","format":"color"},"language":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"global":{"type":"boolean"},"countries":{"type":"array","items":{}},"created":{"type":"string","format":"date-time"},"manifestVersion":{"type":"integer"}}},"SdkAppReview":{"type":"object","properties":{"contactName":{"type":"string"},"contactEmail":{"type":"string","format":"email"},"reviewerName":{"type":"string"},"reviewerEmail":{"type":"string","format":"email"},"codeStatus":{"type":"string"},"testStatus":{"type":"string"},"docsStatus":{"type":"string"}}},"SdkAppReviewForm":{"type":"object","properties":{"config":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"},"spec":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"}}}}}}},"values":{"type":"object","properties":{"testingScenarios":{"type":"object"}}}}},"SdkAppReviewState":{"type":"object","description":"State of the new SDK app review flow for one app version. The lifecycle phase either comes from the new flow's own storage or, while the new flow has never touched the app (`derivedFromLegacy: true`), is derived from the legacy review state (`approved`/`in_review` flags and the legacy review status).","properties":{"appName":{"type":"string","description":"Name of the SDK app."},"appVersion":{"type":"integer","description":"Major version of the SDK app."},"phase":{"type":"string","enum":["dormant","preparing","review","changes_required","approved","updating","update_review","changes_required_update","rereview"],"description":"Lifecycle phase of the review. `dormant` → `start` → `preparing` → `submit` → `review`; a reviewer then approves (`approved`) or requests changes (`changes_required`, reopened with `start-rereview` → `rereview` → `submit` back to `review`). An approved listing is updated through `start-update` → `updating` → `submit` → `update_review`, whose outcomes are `approved` or `changes_required_update` (re-reviewed through `rereview` back to `update_review`). `cancel` steps back one phase on every track."},"reviewStep":{"type":"string","enum":["auto","manual"],"nullable":true,"description":"Sub-step while `phase` is `review`/`update_review` — `auto` means the automatic review is waiting on the developer to confirm the emailed notes, `manual` means a reviewer has the app. `null` in every other phase."},"rereviewOrigin":{"type":"string","enum":["changes_required","changes_required_update"],"nullable":true,"description":"While `phase` is `rereview`, the phase the re-review was started from. `null` otherwise."},"derivedFromLegacy":{"type":"boolean","description":"`true` when `phase` was derived from legacy review state instead of stored new-flow state."},"draftForm":{"type":"object","additionalProperties":false,"description":"The new review form. Every field is optional — any partial state is a valid auto-save; completeness is enforced by the client before submitting, not by the server. Link formats are checked when submitting: documentation links must be `http(s)` URLs and scenario links must point at a scenario of this zone (`https://<zone web domain>/<teamId>/scenarios/<scenarioId>/edit`).","properties":{"vendorRelationship":{"type":"string","enum":["direct","agreement","none"],"description":"The developer's relationship to the vendor of the integrated software."},"listingType":{"type":"string","enum":["verified","community"],"description":"Requested Marketplace listing type. The choice is only offered to Solution Partners without a vendor agreement."},"partnerProgramApplication":{"type":"string","enum":["technology","solution"],"description":"Make partner program the developer applies for together with this review, agreeing to the Make terms and conditions; omitted when not applying. Offered only to developers who are not Make partners yet, for the program their vendor relationship makes them eligible for: `none` → `solution`, otherwise `technology`."},"testScenarioUrls":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":2048},"description":"Scenarios where the review team can see every module of the app run successfully. Each must be a scenario link of this zone when submitting."},"errorHandlingScenarioUrl":{"type":"string","maxLength":2048,"description":"Scenario that fails on purpose, demonstrating how the app surfaces an API error. Must be a scenario link of this zone when submitting."},"apiDocsUrl":{"type":"string","maxLength":2048,"description":"Documentation of the API the app calls. Must be an `http(s)` URL when submitting."},"homepageUrl":{"type":"string","maxLength":2048,"description":"Homepage of the integrated software, shown on the app's landing page. Must be an `http(s)` URL when submitting."},"categories":{"type":"array","maxItems":20,"items":{"type":"string","maxLength":128},"description":"Marketplace categories the app belongs to."},"subcategories":{"type":"object","additionalProperties":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":128}},"description":"Selected subcategories, keyed by category."},"shortDescription":{"type":"string","maxLength":1024,"description":"Community listing only — short description of the app."},"pricing":{"type":"string","enum":["free","paid"],"description":"Community listing only — whether the app itself is free or paid."},"landingPageUrl":{"type":"string","maxLength":2048,"description":"Community listing only — the app's own landing page. Must be an `http(s)` URL when submitting."},"appDocsUrl":{"type":"string","maxLength":2048,"description":"Community listing only — the app's documentation. Must be an `http(s)` URL when submitting."},"dataProcessingDescription":{"type":"string","maxLength":10000,"description":"Community listing only — how the app processes data. The developer is liable for this text."},"termsConsent":{"type":"boolean","description":"Community listing only — consent to the Make Apps Marketplace terms and conditions."},"supportContactName":{"type":"string","maxLength":255,"description":"Name Make forwards support and maintenance requests to."},"supportContactEmail":{"type":"string","maxLength":255,"description":"Email Make forwards support and maintenance requests to."},"trademarkConsent":{"type":"boolean","description":"Trademark compliance declaration."},"externalTcConsent":{"type":"boolean","description":"External service terms compliance declaration."},"whatChanged":{"type":"string","maxLength":10000,"description":"Update/re-review only — what changed in this version, or what was changed in response to the reviewer."},"updatedScenarioUrls":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":2048},"description":"Update/re-review only — the test scenarios for the change, seeded from the approved submission. Each must be a scenario link of this zone when submitting."},"reRunConfirmed":{"type":"boolean","description":"Update/re-review only — confirmation that every scenario was re-run on the current app version."},"contactsConfirmed":{"type":"boolean","description":"Update/re-review only — confirmation that the developer and support contacts are up to date."}}},"submittedForm":{"nullable":true,"allOf":[{"type":"object","additionalProperties":false,"description":"The new review form. Every field is optional — any partial state is a valid auto-save; completeness is enforced by the client before submitting, not by the server. Link formats are checked when submitting: documentation links must be `http(s)` URLs and scenario links must point at a scenario of this zone (`https://<zone web domain>/<teamId>/scenarios/<scenarioId>/edit`).","properties":{"vendorRelationship":{"type":"string","enum":["direct","agreement","none"],"description":"The developer's relationship to the vendor of the integrated software."},"listingType":{"type":"string","enum":["verified","community"],"description":"Requested Marketplace listing type. The choice is only offered to Solution Partners without a vendor agreement."},"partnerProgramApplication":{"type":"string","enum":["technology","solution"],"description":"Make partner program the developer applies for together with this review, agreeing to the Make terms and conditions; omitted when not applying. Offered only to developers who are not Make partners yet, for the program their vendor relationship makes them eligible for: `none` → `solution`, otherwise `technology`."},"testScenarioUrls":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":2048},"description":"Scenarios where the review team can see every module of the app run successfully. Each must be a scenario link of this zone when submitting."},"errorHandlingScenarioUrl":{"type":"string","maxLength":2048,"description":"Scenario that fails on purpose, demonstrating how the app surfaces an API error. Must be a scenario link of this zone when submitting."},"apiDocsUrl":{"type":"string","maxLength":2048,"description":"Documentation of the API the app calls. Must be an `http(s)` URL when submitting."},"homepageUrl":{"type":"string","maxLength":2048,"description":"Homepage of the integrated software, shown on the app's landing page. Must be an `http(s)` URL when submitting."},"categories":{"type":"array","maxItems":20,"items":{"type":"string","maxLength":128},"description":"Marketplace categories the app belongs to."},"subcategories":{"type":"object","additionalProperties":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":128}},"description":"Selected subcategories, keyed by category."},"shortDescription":{"type":"string","maxLength":1024,"description":"Community listing only — short description of the app."},"pricing":{"type":"string","enum":["free","paid"],"description":"Community listing only — whether the app itself is free or paid."},"landingPageUrl":{"type":"string","maxLength":2048,"description":"Community listing only — the app's own landing page. Must be an `http(s)` URL when submitting."},"appDocsUrl":{"type":"string","maxLength":2048,"description":"Community listing only — the app's documentation. Must be an `http(s)` URL when submitting."},"dataProcessingDescription":{"type":"string","maxLength":10000,"description":"Community listing only — how the app processes data. The developer is liable for this text."},"termsConsent":{"type":"boolean","description":"Community listing only — consent to the Make Apps Marketplace terms and conditions."},"supportContactName":{"type":"string","maxLength":255,"description":"Name Make forwards support and maintenance requests to."},"supportContactEmail":{"type":"string","maxLength":255,"description":"Email Make forwards support and maintenance requests to."},"trademarkConsent":{"type":"boolean","description":"Trademark compliance declaration."},"externalTcConsent":{"type":"boolean","description":"External service terms compliance declaration."},"whatChanged":{"type":"string","maxLength":10000,"description":"Update/re-review only — what changed in this version, or what was changed in response to the reviewer."},"updatedScenarioUrls":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":2048},"description":"Update/re-review only — the test scenarios for the change, seeded from the approved submission. Each must be a scenario link of this zone when submitting."},"reRunConfirmed":{"type":"boolean","description":"Update/re-review only — confirmation that every scenario was re-run on the current app version."},"contactsConfirmed":{"type":"boolean","description":"Update/re-review only — confirmation that the developer and support contacts are up to date."}}}],"description":"Snapshot of `draftForm` taken at the last submit. Later draft edits do not change it."},"submittedAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp of the last submit."},"events":{"type":"array","description":"Review history timeline, oldest first.","items":{"type":"object","properties":{"type":{"type":"string","description":"Event type. Developer-side (`actor: developer`): `preparation_started`, `submitted`, `cancelled`, `submission_withdrawn`, `auto_notes_confirmed`, `rereview_started`, `rereview_cancelled`, `resubmitted`, `update_started`, `update_submitted`, `update_withdrawn`, `update_cancelled`. Make-side (`actor: make`, with an optional `note`): `approved`, `changes_requested`, `update_approved`, `update_changes_requested`."},"actor":{"type":"string","enum":["developer","make"],"description":"Which side of the review produced the event."},"note":{"type":"string","description":"Optional free-text detail (e.g. the reviewer's request). Omitted when empty."},"createdAt":{"type":"string","format":"date-time","description":"When the event happened."}}}},"updatedAt":{"type":"string","format":"date-time","nullable":true,"description":"Last modification of the new-flow state. `null` while no new-flow row exists."}}},"SdkAppReviewDraft":{"type":"object","additionalProperties":false,"description":"The new review form. Every field is optional — any partial state is a valid auto-save; completeness is enforced by the client before submitting, not by the server. Link formats are checked when submitting: documentation links must be `http(s)` URLs and scenario links must point at a scenario of this zone (`https://<zone web domain>/<teamId>/scenarios/<scenarioId>/edit`).","properties":{"vendorRelationship":{"type":"string","enum":["direct","agreement","none"],"description":"The developer's relationship to the vendor of the integrated software."},"listingType":{"type":"string","enum":["verified","community"],"description":"Requested Marketplace listing type. The choice is only offered to Solution Partners without a vendor agreement."},"partnerProgramApplication":{"type":"string","enum":["technology","solution"],"description":"Make partner program the developer applies for together with this review, agreeing to the Make terms and conditions; omitted when not applying. Offered only to developers who are not Make partners yet, for the program their vendor relationship makes them eligible for: `none` → `solution`, otherwise `technology`."},"testScenarioUrls":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":2048},"description":"Scenarios where the review team can see every module of the app run successfully. Each must be a scenario link of this zone when submitting."},"errorHandlingScenarioUrl":{"type":"string","maxLength":2048,"description":"Scenario that fails on purpose, demonstrating how the app surfaces an API error. Must be a scenario link of this zone when submitting."},"apiDocsUrl":{"type":"string","maxLength":2048,"description":"Documentation of the API the app calls. Must be an `http(s)` URL when submitting."},"homepageUrl":{"type":"string","maxLength":2048,"description":"Homepage of the integrated software, shown on the app's landing page. Must be an `http(s)` URL when submitting."},"categories":{"type":"array","maxItems":20,"items":{"type":"string","maxLength":128},"description":"Marketplace categories the app belongs to."},"subcategories":{"type":"object","additionalProperties":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":128}},"description":"Selected subcategories, keyed by category."},"shortDescription":{"type":"string","maxLength":1024,"description":"Community listing only — short description of the app."},"pricing":{"type":"string","enum":["free","paid"],"description":"Community listing only — whether the app itself is free or paid."},"landingPageUrl":{"type":"string","maxLength":2048,"description":"Community listing only — the app's own landing page. Must be an `http(s)` URL when submitting."},"appDocsUrl":{"type":"string","maxLength":2048,"description":"Community listing only — the app's documentation. Must be an `http(s)` URL when submitting."},"dataProcessingDescription":{"type":"string","maxLength":10000,"description":"Community listing only — how the app processes data. The developer is liable for this text."},"termsConsent":{"type":"boolean","description":"Community listing only — consent to the Make Apps Marketplace terms and conditions."},"supportContactName":{"type":"string","maxLength":255,"description":"Name Make forwards support and maintenance requests to."},"supportContactEmail":{"type":"string","maxLength":255,"description":"Email Make forwards support and maintenance requests to."},"trademarkConsent":{"type":"boolean","description":"Trademark compliance declaration."},"externalTcConsent":{"type":"boolean","description":"External service terms compliance declaration."},"whatChanged":{"type":"string","maxLength":10000,"description":"Update/re-review only — what changed in this version, or what was changed in response to the reviewer."},"updatedScenarioUrls":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":2048},"description":"Update/re-review only — the test scenarios for the change, seeded from the approved submission. Each must be a scenario link of this zone when submitting."},"reRunConfirmed":{"type":"boolean","description":"Update/re-review only — confirmation that every scenario was re-run on the current app version."},"contactsConfirmed":{"type":"boolean","description":"Update/re-review only — confirmation that the developer and support contacts are up to date."}}},"SdkAppCategory":{"type":"object","description":"One category of the taxonomy offered by the new SDK app review form, with its subcategories. `slug` is the category's stable identity — it is what a review form stores in `categories` / `subcategories`, and it survives a rename of `name`. Array order is display order.","properties":{"slug":{"type":"string","maxLength":128,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Stable identifier of the category. Either pinned explicitly by the catalog sync or derived from `name` (diacritics stripped, lowercased, every run of non-alphanumerics collapsed to a dash)."},"name":{"type":"string","maxLength":255,"description":"Human-readable label to show in the review form."},"subcategories":{"type":"array","description":"The category's subcategories in display order; empty when the category has none. The taxonomy is exactly two levels deep — a subcategory never has children of its own.","items":{"type":"object","properties":{"slug":{"type":"string","maxLength":128,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Stable identifier of the subcategory, unique within its category (the same slug may appear under a different category)."},"name":{"type":"string","maxLength":255,"description":"Human-readable label to show in the review form."}}}}}},"SdkAppReviewSupportContact":{"type":"object","description":"A support contact as entered in the support-contact section of the new SDK app review form (`supportContactName` / `supportContactEmail` of the review draft).","properties":{"name":{"type":"string","maxLength":255,"description":"Contact name as last entered for this email. Empty string when the draft carried an email without a name."},"email":{"type":"string","maxLength":255,"description":"Contact email, in the spelling of its most recent use. Contacts are distinct by email compared case-insensitively."}},"required":["name","email"]},"SdkAppCategoryChangeSet":{"type":"object","description":"What one catalog sync did to one taxonomy level. Values are slugs, so a syncing script can log them verbatim; subcategories are keyed `<categorySlug>/<subcategorySlug>`, since a subcategory slug is only unique within its category. All four buckets are empty when the posted list matched what was already stored.","properties":{"created":{"type":"array","description":"Slugs that did not exist before this sync.","items":{"type":"string"}},"updated":{"type":"array","description":"Slugs whose label or display order changed.","items":{"type":"string"}},"restored":{"type":"array","description":"Slugs an earlier sync had retired and this one brought back.","items":{"type":"string"}},"removed":{"type":"array","description":"Slugs that were being offered and this sync retired.","items":{"type":"string"}}}},"SdkAppCategoryChanges":{"type":"object","description":"What one catalog sync changed, per taxonomy level.","properties":{"categories":{"type":"object","description":"What one catalog sync did to one taxonomy level. Values are slugs, so a syncing script can log them verbatim; subcategories are keyed `<categorySlug>/<subcategorySlug>`, since a subcategory slug is only unique within its category. All four buckets are empty when the posted list matched what was already stored.","properties":{"created":{"type":"array","description":"Slugs that did not exist before this sync.","items":{"type":"string"}},"updated":{"type":"array","description":"Slugs whose label or display order changed.","items":{"type":"string"}},"restored":{"type":"array","description":"Slugs an earlier sync had retired and this one brought back.","items":{"type":"string"}},"removed":{"type":"array","description":"Slugs that were being offered and this sync retired.","items":{"type":"string"}}}},"subcategories":{"type":"object","description":"What one catalog sync did to one taxonomy level. Values are slugs, so a syncing script can log them verbatim; subcategories are keyed `<categorySlug>/<subcategorySlug>`, since a subcategory slug is only unique within its category. All four buckets are empty when the posted list matched what was already stored.","properties":{"created":{"type":"array","description":"Slugs that did not exist before this sync.","items":{"type":"string"}},"updated":{"type":"array","description":"Slugs whose label or display order changed.","items":{"type":"string"}},"restored":{"type":"array","description":"Slugs an earlier sync had retired and this one brought back.","items":{"type":"string"}},"removed":{"type":"array","description":"Slugs that were being offered and this sync retired.","items":{"type":"string"}}}}}},"SdkPublisher":{"type":"object","description":"Account-level publisher profile of an SDK app developer (\"App developer contact\"). One profile per user; its values appear on the landing pages of all apps the user publishes.","properties":{"userId":{"type":"integer","description":"Owning user."},"authorName":{"type":"string","nullable":true,"description":"Author name shown as the publisher (non-partner variant)."},"contactEmail":{"type":"string","format":"email","nullable":true,"description":"Developer contact email. `null` means the account email is used."},"companyName":{"type":"string","nullable":true,"description":"Company (ISV) name shown as the publisher."},"partnerType":{"type":"string","enum":["technology","solution"],"nullable":true,"description":"Make partner program of the publisher; `null` means not a partner (the default). Assigned by Make administrators only, through `PATCH /admin/sdk/apps/{app}/{version}/publisher` — the developer's own `PATCH /sdk/publisher` cannot change it."},"hasLogo":{"type":"boolean","description":"Whether a company logo is stored (served by `GET /sdk/publisher/logo`)."},"logoFilename":{"type":"string","nullable":true,"description":"Original filename of the uploaded logo."},"createdAt":{"type":"string","format":"date-time","description":"When the profile was created."},"updatedAt":{"type":"string","format":"date-time","description":"When the profile was last updated."}}},"SdkEndpoint":{"type":"object","properties":{"name":{"type":"string","description":"Endpoint name. Unique within the app version, immutable after creation."},"label":{"type":"string"},"description":{"type":"string","nullable":true},"context":{"type":"string","nullable":true,"description":"Free-form context made available to AI agents calling the endpoint."},"annotations":{"type":"object","description":"MCP-inspired behavior hints. Only the known hints are persisted; unknown keys are stripped.","properties":{"readOnlyHint":{"type":"boolean"},"destructiveHint":{"type":"boolean"},"idempotentHint":{"type":"boolean"},"openWorldHint":{"type":"boolean"},"arbitraryCallHint":{"type":"boolean"}}},"attachedAccounts":{"type":"array","items":{"type":"string"},"description":"Names of the connections attached to the endpoint."},"public":{"type":"boolean"},"approved":{"type":"boolean"},"deprecated":{"type":"boolean"},"archived":{"type":"boolean","description":"Zone-only flag; never synchronized to HQ."},"centicreditsFormula":{"type":"string","nullable":true},"centicreditsFormulaDescription":{"type":"string","nullable":true},"centicreditsFormulaDocumentationUrl":{"type":"string","nullable":true},"centicreditsFormulaMeta":{"type":"string","nullable":true},"schemaVersion":{"type":"integer"},"rev":{"type":"integer","description":"Revision number, used for Swarm sync."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"SdkGithubBinding":{"type":"object","description":"A binding between an SDK app version and a GitHub repository, established through a Make GitHub connection. Multiple bindings per app version are allowed (e.g. a public mirror and a private fork, or one binding per branch).","properties":{"id":{"type":"integer","description":"Binding ID. Unique across all apps; assigned by Make."},"appName":{"type":"string","description":"Name of the SDK app the binding belongs to."},"appVersion":{"type":"integer","description":"Major version of the SDK app the binding targets."},"repoUrl":{"type":"string","description":"Canonical URL of the bound repository, as reported by GitHub."},"owner":{"type":"string","description":"GitHub owner login (user or organization), as reported by GitHub at bind time."},"repo":{"type":"string","description":"GitHub repository name."},"branch":{"type":"string","description":"Branch on the remote the binding syncs against."},"defaultBranch":{"type":"string","description":"Default branch reported by GitHub when the binding was last established."},"private":{"type":"boolean","description":"Whether the remote repository is private."},"pullRequestBranch":{"type":"string","description":"Default branch the pull-request flow commits to — `make/<appName>-v<appVersion>`; a request may name another. Opening a pull request moves the binding onto its branch (`branch` becomes it) so later pushes update the pull request. Derived from the app name and version, never stored."},"connectionId":{"type":"integer","description":"ID of the Make GitHub connection used for OAuth."},"connectionName":{"type":"string","nullable":true,"description":"Display name of the Make connection, or `null` when the connection no longer exists."},"lastSyncedAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp of the last successful sync in any direction. `null` until the push/pull flows are available."},"lastSyncedCommitSha":{"type":"string","nullable":true},"lastPushedAt":{"type":"string","format":"date-time","nullable":true},"lastPushedCommitSha":{"type":"string","nullable":true},"lastPulledAt":{"type":"string","format":"date-time","nullable":true},"lastPulledCommitSha":{"type":"string","nullable":true},"remoteHeadSha":{"type":"string","nullable":true,"description":"Last observed HEAD SHA of the bound branch. Refreshed best-effort on read; `null` when the branch has no commits or GitHub is unreachable."},"behindBy":{"type":"integer","nullable":true,"description":"Number of commits the app is behind the remote branch. `0` when in sync; `null` when unknown."},"syncStatus":{"type":"string","enum":["idle","syncing","in_sync","behind","error"],"description":"Derived sync status of the binding."},"lastError":{"type":"string","nullable":true,"description":"Most recent error message from a failed sync; cleared on the next successful sync."},"lastPushedChecksums":{"type":"object","nullable":true,"additionalProperties":{"type":"string"},"description":"Per-file checksum snapshot captured at the last successful push. `null` until the push flow is available."},"nameMap":{"type":"object","description":"Repo-side identity map for connections and webhooks. Empty until the first sync.","properties":{"connections":{"type":"object","additionalProperties":{"type":"object","properties":{"dbName":{"type":"string"},"repoPath":{"type":"string"}}}},"webhooks":{"type":"object","additionalProperties":{"type":"object","properties":{"dbName":{"type":"string"},"repoPath":{"type":"string"}}}}}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdByUserId":{"type":"integer","description":"ID of the user who created the binding."}}},"Scheduling":{"type":"object","properties":{"type":{"type":"string","enum":["immediately","indefinitely","once","daily","weekly","monthly","yearly"]},"interval":{"type":"integer","minimum":0},"date":{"type":"string","format":"date-time"},"between":{"type":"array","items":{"type":"string","format":"date-time"}},"time":{"type":"string","pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}},"restrict":{"type":"array","items":{"type":"object","properties":{"time":{"type":"array","items":{"type":"string","nullable":true,"pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"}},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}}}}},"maximum_runs_per_minute":{"type":"integer","nullable":true,"minimum":1,"maximum":10000}}},"Controller":{"type":"object","properties":{"name":{"type":"string","maxLength":120,"minLength":1},"description":{"type":"string","maxLength":1500,"minLength":0},"idSequence":{"type":"integer"},"modules":{"type":"object"}}},"HookLog":{"type":"object","properties":{"statusId":{"type":"integer"},"parser":{"type":"string"},"replayable":{"type":"boolean"},"sizes":{"type":"object","properties":{"before":{"type":"integer"},"after":{"type":"integer"}}},"loggedAt":{"type":"string","format":"date-time"},"udids":{"type":"array","items":{"type":"string"}},"typeId":{"type":"integer"},"id":{"type":"integer"},"appParser":{"type":"string"},"imtId":{"type":"string"}}},"HookLogDetail":{"type":"object","properties":{"statusId":{"type":"integer"},"parser":{"type":"string"},"replayable":{"type":"boolean"},"data":{"type":"object","properties":{"request":{"type":"object","properties":{"headers":{"type":"object","additionalProperties":{}},"method":{"type":"string"},"query":{"type":"object","additionalProperties":{}},"ip":{"type":"string"},"parsed":{"type":"string"},"body":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]},"url":{"type":"string"}}},"response":{"type":"object","properties":{"headers":{"type":"array","items":{"type":"string"}},"body":{"type":"string"},"status":{"type":"integer"}}}}},"sizes":{"type":"object","properties":{"before":{"type":"integer"},"after":{"type":"integer"}}},"loggedAt":{"type":"string","format":"date-time"},"udids":{"type":"array","items":{"type":"string"}},"typeId":{"type":"integer"},"id":{"type":"integer"},"appParser":{"type":"string"},"imtId":{"type":"string"}}},"ScenarioInterfaceInput":{"type":"object","additionalProperties":{},"description":"Contains the `input` array with specification of the scenario input parameters."},"ScenarioInterfaceOutput":{"type":"object","additionalProperties":{}},"Admin--Organizations":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"timezoneId":{"type":"number"},"countryId":{"type":"number"},"license":{"type":"object","additionalProperties":{}},"serviceName":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"externalId":{"type":"string"}}}},"isPaused":{"type":"boolean"},"zone":{"type":"string"},"externalId":{"type":"string"},"scenarios":{"type":"integer"},"activeScenarios":{"type":"integer"},"deleted":{"type":"boolean"}}},"CustomPropertyStructure-response":{"type":"object","properties":{"id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"belongers":{"type":"array","items":{"type":"object","properties":{"belongerId":{"type":"integer"},"belongerType":{"type":"string"},"associatedTypes":{"type":"array","items":{"type":"string"}}}}}}},"CustomPropertyStructureItemEntity-response":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"required":{"type":"boolean"},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}}},"CustomPropertyStructureItemEntityWithStructureId-response":{"allOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"required":{"type":"boolean"},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}}},{"type":"object","properties":{"structureId":{"type":"integer"}}}]},"CustomPropertyStructureItem-requestBody-post":{"type":"object","properties":{"name":{"description":"The ID of the structure item. The `name` has to be unique in the custom properties structure.","type":"string"},"label":{"description":"Make displays the item label to users in the scenario table header.","type":"string"},"description":{"description":"The description of the custom property structure item. You can review the item description in the **Scenario properties** tab in the Organization dashboard.","type":"string"},"type":{"description":"The data type of the custom property structure item. The data types `dropdown` and `multiselect` allow you to specify available options for the item data.","type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"options":{"description":"The options available to users when filling in the item data. For the data types `dropdown` and `multiselect`, fill in an object like `{\"options\":[{\"value\": \"Marketing\"}, {\"value\": \"Sales\"}]}`.\nYou can omit the `options` parameter for the rest of the data types. "},"required":{"description":"Set to `true` in order to make a structure item required when adding custom property data. Default value is `false`.","type":"boolean"}},"required":["name","label","type"]},"CustomPropertyStructureItem-requestBody-patch":{"type":"object","properties":{"label":{"description":"Make displays the item label to users in the scenario table header.","type":"string"},"description":{"description":"The description of the custom property structure item. You can review the item description in the **Scenario properties** tab in the Organization dashboard.","type":"string"},"options":{"description":"The options available to users when filling in the item data. For the data types `dropdown` and `multiselect`, fill in an object like `{\"options\":[{\"value\": \"Marketing\"}, {\"value\": \"Sales\"}]}`.\nYou can omit the `options` parameter for the rest of the data types. "},"required":{"description":"Set to `true` if you require to fill in data to the structure item when adding custom property data. Default value is `false`.","type":"boolean"}}},"CustomAppBase":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}}}]},"CustomAppGroups":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"modules":{"type":"array","items":{"type":"string"}}},"required":["label","modules"]}},"CustomAppInstallSpecification":{},"CustomAppInstall":{},"CustomAppModuleApi":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}},"verification":{"additionalProperties":false,"type":"object","properties":{"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}},"verification":{"additionalProperties":false,"type":"object","properties":{"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}}}}}]},"CustomAppModuleEpoch":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Query string parameters","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}},"response":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"description":"Epoch module output format","additionalProperties":true,"type":"object","properties":{"date":{},"label":{}},"required":["date","label"]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}}},"required":["output"]}},"required":["response"]},"CustomAppModuleInterface":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]},"CustomAppModuleParameters":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]},"CustomAppModuleSamples":{"additionalProperties":{},"type":"object","properties":{}},"CustomAppModuleScope":{"type":"array","items":{"minLength":1,"maxLength":512,"type":"string"}},"CustomAppModuleCreateResponse":{"additionalProperties":false,"example":[{"appModule":{"name":"getInvoices","label":"Get Invoices","description":"Retrieves a list of invoices from the system.","typeId":4,"crud":null,"connection":null,"webhook":null}}],"type":"object","properties":{"appModule":{"type":"object","properties":{"name":{"minLength":3,"maxLength":128,"example":["getInvoices","createPdf","setMode"],"description":"The name of the module.","type":"string"},"label":{"maxLength":128,"type":"string"},"description":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]},"typeId":{"maxLength":128,"type":"number"},"crud":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]},"connection":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]},"webhook":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]}}}},"required":["appModule"]},"CustomAppModule":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":3,"maxLength":128,"example":["getInvoices","createPdf","setMode"],"description":"The name of the module.","type":"string"},"label":{"maxLength":128,"type":"string"},"description":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]},"typeId":{"maxLength":128,"type":"number"},"crud":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]},"connection":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]},"webhook":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"string","nullable":true}]}}},"CustomAppCreateRequest":{"example":[{"name":"postman","label":"Postman App","description":"API testing and collaboration tool.","theme":"#FF00FF"},{"name":"slack","label":"Slack","description":"Team communication and collaboration platform.","theme":"#6ba559"},{"name":"github","label":"GitHub","description":"Code hosting and version control platform.","theme":"#181717"}],"type":"object","allOf":[{"additionalProperties":false,"type":"object","properties":{"label":{"maxLength":128,"example":["Instagram for Business","Canva","Airtable"],"description":"The label of your custom app. This field is required, and users will see it in the app list.","type":"string"}},"required":["label"]},{"additionalProperties":false,"type":"object","properties":{"name":{"pattern":"^[a-z][0-9a-z-]+[0-9a-z]$","default":"custom-app","minLength":3,"maxLength":30,"example":["instagram","canva","airtable"],"description":"The name of an app. The postfix \"-[a-z0-9]{6}\" is added so the name is always unique, and you need to work with the generated name from the response.","type":"string"},"description":{"anyOf":[{"maxLength":512,"description":"Description of your custom app. This field is optional.","type":"string"},{"type":"string","nullable":true}]},"theme":{"pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","default":"#cccccc","example":["#229f3b","#89ebbf","#29c067","#3470c4","#98253b","#2c9e40"],"description":"The color that Make uses for your custom app modules and forms.","type":"string"},"version":{"default":1,"description":"Always use version 1. Any higher value is for internal purposes and is not supported by the API.","minimum":1,"type":"integer"}}}]},"CustomAppCreateResponse":{"example":[{"app":{"name":"postman-9m92ur","label":"Postman App","theme":"#FF00FF","public":false,"approved":false,"version":1}},{"app":{"name":"slack-9a72qr","label":"Slack","theme":"#6ba559","public":false,"approved":false,"version":1}},{"app":{"name":"github-a1bcuq","label":"GitHub","theme":"#181717","public":false,"approved":false,"version":1}}],"type":"object","properties":{"app":{"additionalProperties":false,"type":"object","properties":{"name":{"pattern":"^[a-z][0-9a-z-]+[0-9a-z]$","default":"custom-app","minLength":3,"maxLength":30,"example":["instagram","canva","airtable"],"description":"The name of an app. The postfix \"-[a-z0-9]{6}\" is added so the name is always unique, and you need to work with the generated name from the response.","type":"string"},"label":{"maxLength":128,"example":["Instagram for Business","Canva","Airtable"],"description":"The label of your custom app. This field is required, and users will see it in the app list.","type":"string"},"version":{"default":1,"description":"Always use version 1. Any higher value is for internal purposes and is not supported by the API.","minimum":1,"type":"integer"},"theme":{"pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","default":"#cccccc","example":["#229f3b","#89ebbf","#29c067","#3470c4","#98253b","#2c9e40"],"description":"The color that Make uses for your custom app modules and forms.","type":"string"},"public":{"description":"If you want to share your app outside of your organization, you will need to publish your app, so the invite link is generated.","default":false,"type":"boolean"},"approved":{"description":"Globally available app.","default":false,"type":"boolean"}},"required":["label"]}},"required":["app"]},"CustomAppListResponse":{"example":[{"name":"postman-9m92ur","label":"Postman App","version":1,"versionFull":"1.0.0","beta":true},{"name":"slack-9a72qr","label":"Slack","version":1,"versionFull":"1.1.3","beta":true},{"name":"github-a1bcuq","label":"GitHub","version":1,"versionFull":"1.15.2","beta":false}],"type":"object","properties":{"apps":{"additionalProperties":false,"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"pattern":"^[a-z][0-9a-z-]+[0-9a-z]$","default":"custom-app","minLength":3,"maxLength":30,"example":["instagram","canva","airtable"],"description":"The name of an app. The postfix \"-[a-z0-9]{6}\" is added so the name is always unique, and you need to work with the generated name from the response.","type":"string"},"label":{"maxLength":128,"example":["Instagram for Business","Canva","Airtable"],"description":"The label of your custom app. This field is required, and users will see it in the app list.","type":"string"},"description":{"anyOf":[{"maxLength":512,"description":"Description of your custom app. This field is optional.","type":"string"},{"type":"string","nullable":true}]},"version":{"default":1,"description":"Always use version 1. Any higher value is for internal purposes and is not supported by the API.","minimum":1,"type":"integer"},"versionFull":{"default":"1.0.0","description":"Full semantic version of an app.","type":"string"},"theme":{"pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","default":"#cccccc","example":["#229f3b","#89ebbf","#29c067","#3470c4","#98253b","#2c9e40"],"description":"The color that Make uses for your custom app modules and forms.","type":"string"},"language":{"default":"en","example":["en","de","es","fr","it","ja","ko","pt"],"description":"The language of your custom app and its descriptions.","type":"string"},"origin":{"anyOf":[{"default":false,"description":"The origin zone where the app was created.","type":"string"},{"type":"string","nullable":true}]},"opensource":{"default":false,"description":"Deprecated. Make will introduce a different way of sharing open-source apps.","type":"boolean"},"inReview":{"default":false,"description":"Once published, a user can submit their app for review and approval by clicking Request approval. The custom app then appears with a ✓ in the In review column of Administration > Apps.","type":"boolean"},"beta":{"default":true,"type":"boolean"},"public":{"description":"If you want to share your app outside of your organization, you will need to publish your app, so the invite link is generated.","default":false,"type":"boolean"},"approved":{"description":"Globally available app.","default":false,"type":"boolean"},"modules":{},"changes":{},"audience":{"default":"global","description":"Deprecated. This parameter has no effect currently. The custom app is accessible regardless of the user's country.","anyOf":[{"enum":["global"],"type":"string"},{"enum":["countries"],"type":"string"}]},"countries":{"default":"countries","example":["al","aq","be"],"description":"Deprecated. When the audience is countries, you can specify which countries the app is meant for.","type":"string"}},"required":["label"]}}},"required":["apps"]},"CustomApp":{"additionalProperties":false,"type":"object","properties":{"name":{"pattern":"^[a-z][0-9a-z-]+[0-9a-z]$","default":"custom-app","minLength":3,"maxLength":30,"example":["instagram","canva","airtable"],"description":"The name of an app. The postfix \"-[a-z0-9]{6}\" is added so the name is always unique, and you need to work with the generated name from the response.","type":"string"},"label":{"maxLength":128,"example":["Instagram for Business","Canva","Airtable"],"description":"The label of your custom app. This field is required, and users will see it in the app list.","type":"string"},"description":{"anyOf":[{"maxLength":512,"description":"Description of your custom app. This field is optional.","type":"string"},{"type":"string","nullable":true}]},"version":{"default":1,"description":"Always use version 1. Any higher value is for internal purposes and is not supported by the API.","minimum":1,"type":"integer"},"versionFull":{"default":"1.0.0","description":"Full semantic version of an app.","type":"string"},"theme":{"pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","default":"#cccccc","example":["#229f3b","#89ebbf","#29c067","#3470c4","#98253b","#2c9e40"],"description":"The color that Make uses for your custom app modules and forms.","type":"string"},"language":{"default":"en","example":["en","de","es","fr","it","ja","ko","pt"],"description":"The language of your custom app and its descriptions.","type":"string"},"origin":{"anyOf":[{"default":false,"description":"The origin zone where the app was created.","type":"string"},{"type":"string","nullable":true}]},"opensource":{"default":false,"description":"Deprecated. Make will introduce a different way of sharing open-source apps.","type":"boolean"},"inReview":{"default":false,"description":"Once published, a user can submit their app for review and approval by clicking Request approval. The custom app then appears with a ✓ in the In review column of Administration > Apps.","type":"boolean"},"beta":{"default":true,"type":"boolean"},"public":{"description":"If you want to share your app outside of your organization, you will need to publish your app, so the invite link is generated.","default":false,"type":"boolean"},"approved":{"description":"Globally available app.","default":false,"type":"boolean"},"modules":{},"changes":{},"audience":{"default":"global","description":"Deprecated. This parameter has no effect currently. The custom app is accessible regardless of the user's country.","anyOf":[{"enum":["global"],"type":"string"},{"enum":["countries"],"type":"string"}]},"countries":{"default":"countries","example":["al","aq","be"],"description":"Deprecated. When the audience is countries, you can specify which countries the app is meant for.","type":"string"}},"required":["label"]},"CustomAppModuleExpect":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]},"managedOrganization":{"type":"object","properties":{"organizationId":{"type":"integer"},"organizationName":{"type":"string"},"operationsAllocated":{"type":"integer"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"zoneId":{"type":"integer"},"zoneDomain":{"type":"string"},"zoneName":{"type":"string"}}},"managedOrganizationConsumption":{"type":"object","properties":{"organizationId":{"type":"integer"},"centicreditsConsumed":{"type":"string"},"centicreditsExtra":{"type":"string"},"operationsConsumed":{"type":"number"},"operationsExtra":{"type":"number"},"transferConsumed":{"type":"number"},"transferExtra":{"type":"number"},"lastReset":{"type":"string","format":"date-time"}}},"CustomRole":{"type":"object","properties":{"id":{"type":"integer","description":"The unique ID of the custom role.","example":42},"name":{"type":"string","description":"The name of the custom role.","example":"Custom Viewer"},"category":{"type":"string","enum":["organization","team"],"description":"Whether the role applies to the organization or a team.","example":"organization"},"managementType":{"type":"string","enum":["custom_managed"],"description":"The management type of the role. Always `custom_managed` for custom roles.","example":"custom_managed"},"description":{"type":"string","nullable":true,"description":"The description of the custom role.","example":"Read-only access to organization resources."},"permissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":101},"name":{"type":"string","example":"scenarios get"}}},"description":"List of permissions assigned to the custom role."}}},"CredentialRequestStatus":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"CredentialState":{"type":"string","description":"State of an individual credential.","enum":["authorized","declined","incomplete","invalid","pending","reauthorizing"]},"CredentialComponent":{"type":"string","description":"Component type of the credential.","enum":["account","keychain"]},"CredentialType":{"type":"string","description":"Type of the credential.","enum":["oauth","basic","key"]},"CredentialRequest":{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},"CredentialRequestListItem":{"type":"object","description":"A credential request list item with optional provider information.","allOf":[{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},{"type":"object","properties":{"appNames":{"type":"array","items":{"type":"string"},"description":"Names of apps associated with this request."},"makeProvider":{"type":"object","nullable":true,"description":"Make provider information.","properties":{"id":{"type":"integer","description":"Provider user ID."},"email":{"type":"string","description":"Provider email address."},"name":{"type":"string","description":"Provider name."}}}}}]},"CredentialRequestWithProvider":{"type":"object","description":"A credential request with detailed provider information.","allOf":[{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},{"type":"object","properties":{"makeProvider":{"type":"object","nullable":true,"description":"Make provider information.","properties":{"id":{"type":"integer"},"email":{"type":"string"},"name":{"type":"string"}}}}}]},"Credential":{"type":"object","description":"A credential object (connection or key).","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential."},"requestId":{"type":"string","format":"uuid","description":"ID of the parent credential request."},"component":{"type":"string","description":"Component type of the credential.","enum":["account","keychain"]},"type":{"type":"string","description":"Type of the credential.","enum":["oauth","basic","key"]},"name":{"type":"string","description":"Internal name of the credential."},"label":{"type":"string","description":"Display label for the credential."},"description":{"type":"string","description":"Description of the credential."},"scope":{"type":"array","items":{"type":"string"},"description":"Requested scopes for the credential."},"remoteId":{"type":"string","description":"Remote identifier after creation."},"remoteScope":{"type":"array","items":{"type":"string"},"description":"Scopes granted by the remote service."},"tokenId":{"type":"string","format":"uuid","description":"Associated token ID."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was last updated."},"state":{"type":"string","description":"State of an individual credential.","enum":["authorized","declined","incomplete","invalid","pending","reauthorizing"]},"declineReason":{"type":"string","description":"Reason for declining the credential."},"appName":{"type":"string","description":"Name of the application associated with this credential."},"appModules":{"type":"array","items":{"type":"string"},"description":"Modules within the application that use this credential."},"appVersion":{"type":"string","description":"Version of the application."},"nameOverride":{"type":"string","description":"Custom name override for the credential."}}},"CredentialRequestCreateBody":{"type":"object","additionalProperties":false,"description":"Request body for creating a new Credential Request. Supports two provider flows - inviting a new user or referencing an existing Make user.","required":["name","teamId","provider"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the Request which will be displayed to the End Users who open it."},"teamId":{"type":"number","description":"ID of the Team the Credential Request should be bound to."},"description":{"type":"string","maxLength":512,"description":"Description of the Request which will be displayed to the End Users who open it."},"connections":{"type":"array","maxItems":32,"description":"Array of connections to include in the request.","items":{"type":"object","additionalProperties":false,"required":["type","appName","appModules","appVersion"],"properties":{"type":{"type":"string","maxLength":64,"description":"Type of the Connection to be included in the Request."},"label":{"type":"string","maxLength":128,"description":"Label of the Connection to be used instead of the default generated one."},"description":{"type":"string","maxLength":512,"description":"Description of the particular Connection to be displayed in the Request view."},"scope":{"type":"array","items":{"type":"string","maxLength":128},"description":"Array of Scopes that the Connection should ask for."},"nameOverride":{"type":"string","maxLength":255,"minLength":1,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}}},"keys":{"type":"array","maxItems":32,"description":"Array of keys to include in the request.","items":{"type":"object","additionalProperties":false,"required":["type","appName","appModules","appVersion"],"properties":{"type":{"type":"string","maxLength":64,"description":"Type of the Key to be included in the Request."},"label":{"type":"string","maxLength":128,"description":"Label of the Key to be used instead of the default generated one."},"description":{"type":"string","maxLength":512,"description":"Description of the particular Key to be displayed in the Request view."},"nameOverride":{"type":"string","maxLength":255,"minLength":1,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}}},"provider":{"description":"Provider information. Either an existing Make user ID or a new user to invite (name & email).","oneOf":[{"type":"object","additionalProperties":false,"required":["providerMakeUserId"],"description":"Existing Make user as provider. The user will be added to the team if not already a member.","properties":{"providerMakeUserId":{"type":"number","description":"ID of the Provider's Make User. The user will be added to the team that owns the credential request."}}},{"type":"object","required":["newUser"],"description":"New user to invite to the organization and add to the team.","properties":{"newUser":{"type":"object","additionalProperties":false,"description":"New user to invite to the organization and add to the team.","required":["name","email"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the new user to invite."},"email":{"type":"string","maxLength":256,"description":"Email address of the new user to invite."}}}}}]}}},"CredentialConnectionItem":{"type":"object","additionalProperties":false,"required":["type","appName","appModules","appVersion"],"properties":{"type":{"type":"string","maxLength":64,"description":"Type of the Connection to be included in the Request."},"label":{"type":"string","maxLength":128,"description":"Label of the Connection to be used instead of the default generated one."},"description":{"type":"string","maxLength":512,"description":"Description of the particular Connection to be displayed in the Request view."},"scope":{"type":"array","items":{"type":"string","maxLength":128},"description":"Array of Scopes that the Connection should ask for."},"nameOverride":{"type":"string","maxLength":255,"minLength":1,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}},"CredentialKeyItem":{"type":"object","additionalProperties":false,"required":["type","appName","appModules","appVersion"],"properties":{"type":{"type":"string","maxLength":64,"description":"Type of the Key to be included in the Request."},"label":{"type":"string","maxLength":128,"description":"Label of the Key to be used instead of the default generated one."},"description":{"type":"string","maxLength":512,"description":"Description of the particular Key to be displayed in the Request view."},"nameOverride":{"type":"string","maxLength":255,"minLength":1,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}},"CredentialProviderExisting":{"type":"object","additionalProperties":false,"required":["providerMakeUserId"],"description":"Existing Make user as provider. The user will be added to the team if not already a member.","properties":{"providerMakeUserId":{"type":"number","description":"ID of the Provider's Make User. The user will be added to the team that owns the credential request."}}},"CredentialProviderNew":{"type":"object","required":["newUser"],"description":"New user to invite to the organization and add to the team.","properties":{"newUser":{"type":"object","additionalProperties":false,"description":"New user to invite to the organization and add to the team.","required":["name","email"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the new user to invite."},"email":{"type":"string","maxLength":256,"description":"Email address of the new user to invite."}}}}},"CredentialDeclineBody":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":2048,"description":"The reason why the credential was declined. This will be visible to support teams and helps with troubleshooting."}}},"ActionCreateBody":{"type":"object","description":"Request body for creating a new action for credential creation.","properties":{"name":{"type":"string","maxLength":255,"description":"Name of the Request which will be displayed to the End Users who open it."},"description":{"type":"string","maxLength":512,"description":"Description of the Request which will be displayed to the End Users who open it."},"connection":{"type":"object","required":["teamId","accountName"],"description":"Connection creation parameters for action.","properties":{"teamId":{"type":"integer","minimum":1,"description":"ID of the Team to which the Connection will belong."},"accountName":{"type":"string","minLength":1,"description":"Name of the Connection account type to be created via the Action."},"name":{"type":"string","minLength":1,"description":"Human-readable name for the Connection to be created via the Action."},"scopes":{"type":"array","minItems":1,"items":{"type":"string","maxLength":128},"description":"Array of Scopes to be added."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}},"key":{"type":"object","required":["teamId","type"],"description":"Key creation parameters for action.","properties":{"teamId":{"type":"integer","minimum":1,"description":"ID of the Team to which the Key will belong."},"type":{"type":"string","minLength":1,"description":"Type identifier for the Key to be created via the Action."},"name":{"type":"string","minLength":1,"description":"Human-readable name for the Key to be created via the Action."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}}}},"ActionConnectionCreate":{"type":"object","required":["teamId","accountName"],"description":"Connection creation parameters for action.","properties":{"teamId":{"type":"integer","minimum":1,"description":"ID of the Team to which the Connection will belong."},"accountName":{"type":"string","minLength":1,"description":"Name of the Connection account type to be created via the Action."},"name":{"type":"string","minLength":1,"description":"Human-readable name for the Connection to be created via the Action."},"scopes":{"type":"array","minItems":1,"items":{"type":"string","maxLength":128},"description":"Array of Scopes to be added."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}},"ActionKeyCreate":{"type":"object","required":["teamId","type"],"description":"Key creation parameters for action.","properties":{"teamId":{"type":"integer","minimum":1,"description":"ID of the Team to which the Key will belong."},"type":{"type":"string","minLength":1,"description":"Type identifier for the Key to be created via the Action."},"name":{"type":"string","minLength":1,"description":"Human-readable name for the Key to be created via the Action."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}},"ActionCreateResponse":{"type":"object","required":["request","publicUri"],"properties":{"request":{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},"publicUri":{"type":"string","format":"uri","description":"Public URI for completing the action."}}}},"parameters":{"PgSortBy":{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},"PgSortById":{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["id"]},"description":"The value that will be used to sort returned entities by."},"PgSortByName":{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["name"]},"description":"The value that will be used to sort returned entities by."},"PgSortByCustomProperties":{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["id","name","label","description","type","required"]},"description":"Specify the custom property item attribute. The custom property items in the response are sorted by the value of the attribute."},"PgOffset":{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},"PgSortDir":{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},"PgLimit":{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."},"TemplateId":{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},"TemplateUrl":{"name":"templateUrl","in":"path","schema":{"type":"string"},"required":true,"description":"The unique URL of the public (approved) template consisting of the template ID and name. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":"16-multiple-apps-template-example"},"TemplatePublicId":{"name":"templatePublicId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the public version of the approved template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint as one of the following IDs: `publishedId` for all published templates that are waiting for approval or not, or `approvedId` for approved templates.","example":18},"TemplateUsedApps":{"name":"usedApps[]","in":"query","schema":{"type":"array","items":{"type":"string"}},"example":["http"],"description":"The array with the text IDs of the apps used in the templates. This parameter allows you to get only the templates containing specific apps."},"ConnectionId":{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128},"HookId":{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},"ImtZoneId":{"name":"imtZoneId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the Make zone. This parameter is required to retrieve notifications from the Make version. For other Make platforms, it can be ignored. The IDs of the zones can be obtained from the `/enums/imt-zones` endpoint.","example":2},"ColsDescription":{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},"To":{"name":"to","in":"query","schema":{"type":"integer"},"example":1663495749015,"description":"Limits data in the response to entries older than the specified timestamp. Use the [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) format in milliseconds."},"From":{"name":"from","in":"query","schema":{"type":"integer"},"example":1663495749015,"description":"Limits data in the response to entries newer than the specified timestamp. Use the [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) format in milliseconds."},"LogId":{"name":"logId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the webhook execution log. Use the `GET /hooks/{hookId}/logs` API call to get the ID values of your webhook execution logs.","example":"95b1c20c790ff5f9d2f1e805943ce95d"},"Confirmed":{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true},"CustomPropertyStructureId":{"name":"customPropertyStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure.\nUse the API call `GET /custom-property-structures?organizationId={organizationId}` to get the ID of a custom property structure.","example":2},"CustomPropertyStructureItemId":{"name":"customPropertyStructureItemId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure item. Get the item ID with the API call to [list custom property structure items](/api-reference/custom-properties/structure-items/get--custom-properties--custompropertystructureid--custom-property-structure-items.md).","example":2},"KeyId":{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16},"DataStructureIdRequired":{"name":"dataStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The data structure ID. Get the `dataStructureId` with the [list data structures](/api-reference/data-structures/get--data-structures.md) endpoint.","example":1459},"CredentialRequestId":{"name":"requestId","in":"path","required":true,"description":"ID of the Credential Request.","schema":{"type":"string","format":"uuid"}},"CredentialId":{"name":"credentialId","in":"path","required":true,"description":"ID of the Credential.","schema":{"type":"string","format":"uuid"}},"CredentialRequestTeamId":{"name":"teamId","in":"query","required":true,"description":"Team ID to filter credential requests.","schema":{"type":"integer"}},"CredentialRequestCols":{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","organizationId","teamId","name","description","externalProviderId","createdAt","updatedAt","expiresAt","status","shouldSendEmail","emailSentAt","appNames","makeProvider","userId","makeProviderId"]}}},"CredentialCols":{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","requestId","component","type","name","label","description","scope","remoteId","remoteScope","tokenId","createdAt","updatedAt","state","declineReason","appName","appModules","appVersion"]}}}}},"security":[{"token":["organizations:read"]}],"tags":[{"name":"Affiliate"},{"name":"On-prem agents"},{"name":"AI Agents","description":"The following endpoints allow you to get, create, update, delete, and run AI Agents. These endpoints are available in **open beta** to all users. As beta endpoints, both functionality and availability may change."},{"name":"AI Agents / Context","x-parent":"AI Agents","x-page-title":"Context","description":"The following endpoints allow you to get, create, and delete Context for AI Agents. These endpoints are available in **open beta** to all users. As beta endpoints, both functionality and availability may change."},{"name":"AI Agents / LLM Providers","x-parent":"AI Agents","x-page-title":"LLM Providers","description":"The following endpoints allow you to inspect supported AI Providers connections and retrieve the list of supported models. These endpoints are available in **open beta** to all users. As beta endpoints, both functionality and availability may change.\n\n> **Deprecation notice:** Support for **Amazon Bedrock** and **Cohere** as bring-your-own-key providers will be deprecated after **July 23, 2026**."},{"name":"Analytics","description":"The following endpoints allow you to get analytics data for your organization. Make uses the analytics data to create [analytics dashboards](https://www.make.com/en/help/general/analytics-dashboard)."},{"name":"Audit logs","description":"The following endpoints allow you to get the organization and team audit logs and their details.\n\nYou can read more about audit logs in our [Help Center](https://www.make.com/en/help/access-management/audit-logs).\n"},{"name":"Cashier"},{"name":"Connections","description":"In Make, you need to create a connection for most apps. Make then uses this connection to communicate with the third-party service and to authenticate your requests to the third-party service. The following endpoints allow you to create and manage connections."},{"name":"Connections / Access list","x-parent":"Connections","x-page-title":"Access list","description":"The following endpoints let you view and manage the access list (entity ACL) of a connection — the users granted a role on it."},{"name":"Credential Requests","description":"The following endpoints allow you to manage credential requests for connections and keys. You can create requests, list them, view details, and manage individual credentials within requests."},{"name":"Custom properties","description":"The following endpoints allow you to create and list custom property structures.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](./post--custom-property-structures.md).\n2. [Create custom properties structure items](./structure-items/post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\n"},{"name":"Custom properties / Structure items","x-parent":"Custom properties","x-page-title":"Structure items","description":"The following endpoints allow you to manage items in a custom property structure.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](../post--custom-property-structures.md).\n2. [Create custom properties structure items](./post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\"\n"},{"name":"Data stores","description":"Data stores are used to store data from scenarios or for transferring data in between individual scenarios or scenario runs. The following endpoints allow you to create and manage data stores."},{"name":"Data stores / Data","x-parent":"Data stores","x-page-title":"Data","description":"The following endpoints allow you to create and manage records in data stores."},{"name":"Data structures","description":"Data structures define the format of the data being transferred to the Make platform. For example, they are widely used by the Data stores component. The following endpoints allow you to create and manage data structures."},{"name":"Devices"},{"name":"Devices / Incomings","x-parent":"Devices","x-page-title":"Incomings"},{"name":"Devices / Outgoing","x-parent":"Devices","x-page-title":"Outgoings"},{"name":"Incomplete executions","description":"If a scenario terminates unexpectedly because of an error, then the scenario run is discarded. You can set the scenario to store the failed scenario run as an incomplete execution. With that, if an error occurs in your scenario, you can resolve it manually and avoid losing data.\n\nRead more about the [incomplete executions](https://www.make.com/en/help/scenarios/incomplete-executions)."},{"name":"Enums","description":"The parameters with a predefined set of values are called \\\"enums.\\\" The enums endpoints list the mappings of a possible parameter values and the IDs of those values. For example, the endpoint `/enums/timezones` lists the timezone `name` and `code`, such as `Europe/Berlin`, and the `timezoneId`."},{"name":"Custom functions","description":"Custom functions are functions you or your team members create that you can use in a scenario. The following API endpoints allow you to:\n\n- list\n - evaluate\n - create\n - update\n - delete\n - check version history\n\nof your custom functions.\n\nCheck the custom functions feature [documentation in the Make Help center](https://www.make.com/en/help/functions/custom-functions)."},{"name":"General","description":"This section contains endpoints that provide general functionality for the Make API."},{"name":"Hooks","description":"Hooks refer to the webhooks and mailhooks available in the various apps in the Make interface. They notify you whenever a certain change occurs in the connected app or service, such as sending an HTTP request or an email. The following endpoints allow you to create and manage hooks."},{"name":"Hooks / Incomings","x-parent":"Hooks","x-page-title":"Incomings","description":"When data arrive to a scheduled webhook, Make places the data in the webhook processing queue. Webhooks process data in the same order as they arrive. The following endpoints allow you to inspect and update the webhook processing queue."},{"name":"Hooks / Logs","x-parent":"Hooks","x-page-title":"Logs","description":"Make stores a log of every webhook execution. Make stores webhook logs for 3 days. The webhook logs for organizations with the Enterprise plan are stored for 30 days.  [Read more about webhook logs](https://www.make.com/en/help/tools/webhooks#webhook-logs).\n\nThe following endpoints allow you to retrieve webhook logs."},{"name":"Keys","description":"The following endpoints allow you to manage and retrieve metadata for authentication keys in your custom keychain. You can use these keys to manage your authentication in the HTTP or encryptor apps similarly to other connections."},{"name":"Keys / Access list","x-parent":"Keys","x-page-title":"Access list","description":"The following endpoints let you view and manage the access list (entity ACL) of a key — the users granted a role on it."},{"name":"Notifications","description":"The **Notifications** feature keeps you informed about problems in your scenarios and keep you up to date when it comes to the new features and improvements in Make. The following endpoints allow you to manage the notifications."},{"name":"Organizations","description":"Organizations are main containers that contain all teams, scenarios, and users. The API endpoints discussed further allow you to manage organizations. [Read more about organizations](https://www.make.com/en/help/access-management/organizations)."},{"name":"Organizations / User organization roles","x-parent":"Organizations","x-page-title":"User organization roles","description":"User organization roles define user permissions in the organization. The endpoints discussed further retrieve information about user roles in the organization. Use the `/users/{userId}/user-organization-roles/{organizationIdId}` to manage user organization roles. Check out the [overview of user organization roles and the associated user permissions](https://www.make.com/en/help/access-management/organizations#organization-roles)."},{"name":"MMS","description":"The following endpoints allow you to manage child organizations."},{"name":"Private spaces","description":"The following endpoints allow you to manage private spaces in your organization."},{"name":"Remote procedures"},{"name":"Scenarios","description":"**Scenarios** allow you to create and run automation tasks. A scenario consists of a series of modules that indicate how data should be transferred and transformed between apps or services. The following endpoints allow you to create, manage and execute scenarios and also inspect and manage [scenario inputs](https://www.make.com/en/help/scenarios/scenario-inputs)."},{"name":"Scenarios / Logs","x-parent":"Scenarios","x-page-title":"Logs","description":"The following endpoints allow you to manage scenarios logs."},{"name":"Scenarios / Blueprints","x-parent":"Scenarios","x-page-title":"Blueprints","description":"The following endpoints allow you to manage scenarios blueprints."},{"name":"Scenarios / Consumptions","x-parent":"Scenarios","x-page-title":"Consumptions","description":"Scenario consumption refers to information about the number of centicredits, operations, and data transfer used by a scenario. The following endpoints retrieve information about your scenario consumption during your current restart period. You can view the end of your current restart period in your dashboard under the Usage reset field."},{"name":"Scenarios / Tools","x-parent":"Scenarios","x-page-title":"Tools","description":"The following endpoints allow you to manage tools."},{"name":"Scenarios / Custom properties data","x-parent":"Scenarios","x-page-title":"Custom properties data","description":"The following endpoints allow you to manage custom scenario properties data.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](../../custom-properties/post--custom-property-structures.md).\n2. [Create custom properties structure items](../../custom-properties/structure-items/post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](./post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\n"},{"name":"Scenarios folders","description":"Scenarios can be grouped into folders for better organization. The following endpoints allow you to create and manage scenarios folders."},{"name":"Scenario labels","description":"Colour-coded team labels can be assigned to scenarios for organization and filtering."},{"name":"SDK Apps"},{"name":"SDK Apps / Invites","x-parent":"SDK Apps","x-page-title":"Invites"},{"name":"SDK Apps / Modules","x-parent":"SDK Apps","x-page-title":"Modules"},{"name":"SDK Apps / RPCs","x-parent":"SDK Apps","x-page-title":"RPCs"},{"name":"SDK Apps / Functions","x-parent":"SDK Apps","x-page-title":"Functions"},{"name":"SDK Apps / Connections","x-parent":"SDK Apps","x-page-title":"Connections"},{"name":"SDK Apps / Webhooks","x-parent":"SDK Apps","x-page-title":"Webhooks"},{"name":"SSO certificates","description":"Managing of SSO certificates."},{"name":"Teams","description":"Teams are containers that contain scenarios and data accessible only by the members of the team. The API endpoints discussed further allow you to manage teams. [Read more about teams](https://www.make.com/en/help/access-management/teams)."},{"name":"Teams / User team roles","x-parent":"Teams","x-page-title":"User team roles","description":"User team roles define user permissions in the team. The endpoints discussed further retrieve information about user roles in the team. Use the `/users/{userId}/user-team-roles/{userId}` endpoint to manage user team roles. Check out the [overview of user team roles and the associated permissions](https://www.make.com/en/help/access-management/teams#managing-team-members)."},{"name":"Templates","description":"The **Templates** feature allows you to create and use templates as a starting point for your Make scenarios. By default, Make offers hundreds of templates containing the scenarios of most-used apps. The following endpoints allow you to create and manage templates."},{"name":"Templates / Public","x-parent":"Templates","x-page-title":"Public","description":"The following endpoints focus on the public (approved) templates that are available to every user regardless of the organization and team."},{"name":"Users","description":"The following main user endpoints allow you to get a list of existing users and manage their basic details such as password change."},{"name":"Users / Me","x-parent":"Users","x-page-title":"Me","description":"The following endpoints retrieve data about the currently authenticated user."},{"name":"Users / API Tokens","x-parent":"Users","x-page-title":"API Tokens","description":"The following endpoints manage and retrieve data about the API tokens assigned to the currently authenticated user."},{"name":"Users / User team roles","x-parent":"Users","x-page-title":"User team roles","description":"The following endpoints update and retrieve data about user team roles of a user in a team. Check out the [overview of user team roles and the associated permissions](https://www.make.com/en/help/access-management/teams#managing-team-members)."},{"name":"Users / User team notifications","x-parent":"Users","x-page-title":"User team notifications","description":"The following endpoints update and retrieve data about user team notifications settings of a user in a team. [Read more about user team notifications](https://www.make.com/en/help/access-management/teams#managing-team-notification-options)."},{"name":"Users / User organization roles","x-parent":"Users","x-page-title":"User organization roles","description":"The following endpoints update and retrieve data about user organization roles of a user in an organization. Check out the [overview of user organization roles and the associated permissions](https://www.make.com/en/help/access-management/organizations#organization-roles)."},{"name":"Users / Roles","x-parent":"Users","x-page-title":"Roles","description":"The following endpoints retrieve the mapping of a `userRoleId` parameter and user role name, and let you create, update, and delete custom organization and team roles."},{"name":"Users / Unread notifications","x-parent":"Users","x-page-title":"Unread notifications","description":"The following endpoint retrieves the number of unread notifications of the currently authenticated user."},{"name":"Users / User email preferences - Mailhub","x-parent":"Users","x-page-title":"User email preferences - Mailhub"}],"paths":{"/admin/functions/v2/{functionId}/restore":{"parameters":[{"name":"functionId","in":"path","required":true,"description":"Function identifier. Functions Control resolves its owning Team and performs authoritative\nTeam and resource authorization for this Function and every nested resource.\n","schema":{"type":"integer","format":"int32","minimum":1},"example":741}]},"/agents":{"get":{"tags":["On-prem agents"],"summary":"List on-prem agents","description":"Retrieves a collection of agents for a company with a given ID","security":[{"token":["agents:read"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"agents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"name":{"type":"string"},"clientSecret":{"type":"string"},"status":{"type":"string","enum":["ACTIVE","STOPPED","NOT_RESPONDING","REGISTERED","CORRUPTED"]},"alerted":{"type":"boolean"},"connected":{"type":"boolean"},"version":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastConnectionDate":{"type":"string","format":"date-time"},"systemConnectionsCount":{"type":"integer","format":"int32"}}}}}}}}}}}},"/agents/{agentId}":{"get":{"tags":["On-prem agents"],"summary":"Get on-prem agent details","description":"Retrieves an agents for a agent with given ID","security":[{"token":["agents:read"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11},{"description":"The ID of the agent.","name":"agentId","in":"path","schema":{"type":"string","format":"uuid"},"example":"78781d1f-8cc0-4f42-8e77-c02812f78b53","required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"agent":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"name":{"type":"string"},"clientSecret":{"type":"string"},"status":{"type":"string","enum":["ACTIVE","STOPPED","NOT_RESPONDING","REGISTERED","CORRUPTED"]},"alerted":{"type":"boolean"},"connected":{"type":"boolean"},"version":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastConnectionDate":{"type":"string","format":"date-time"},"systemConnectionsCount":{"type":"integer","format":"int32"}}}}}}}}}},"post":{"tags":["On-prem agents"],"summary":"Create on-prem agent","description":"Creates a new agent","security":[{"token":["agents:write"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11},{"description":"The ID of the agent.","name":"agentId","in":"path","schema":{"type":"string","format":"uuid"},"example":"78781d1f-8cc0-4f42-8e77-c02812f78b53","required":true}],"requestBody":{"content":{"application/json":{"schema":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"agent":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"name":{"type":"string"},"clientSecret":{"type":"string"},"status":{"type":"string","enum":["ACTIVE","STOPPED","NOT_RESPONDING","REGISTERED","CORRUPTED"]},"alerted":{"type":"boolean"},"connected":{"type":"boolean"},"version":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastConnectionDate":{"type":"string","format":"date-time"},"systemConnectionsCount":{"type":"integer","format":"int32"}}}}}}}}}},"patch":{"tags":["On-prem agents"],"summary":"Update on-prem agent","description":"Updates a new agent with given ID","security":[{"token":["agents:write"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11},{"description":"The ID of the agent.","name":"agentId","in":"path","schema":{"type":"string","format":"uuid"},"example":"78781d1f-8cc0-4f42-8e77-c02812f78b53","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","pattern":"\\S","description":"New name of the agent. Leading and trailing whitespace is removed before saving; a whitespace-only name is rejected."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"agent":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"name":{"type":"string"},"clientSecret":{"type":"string"},"status":{"type":"string","enum":["ACTIVE","STOPPED","NOT_RESPONDING","REGISTERED","CORRUPTED"]},"alerted":{"type":"boolean"},"connected":{"type":"boolean"},"version":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastConnectionDate":{"type":"string","format":"date-time"},"systemConnectionsCount":{"type":"integer","format":"int32"}}}}}}}}}},"delete":{"tags":["On-prem agents"],"summary":"Delete on-prem agent","description":"Removes an agent with a given ID.","security":[{"token":["agents:write"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11},{"description":"The ID of the agent.","name":"agentId","in":"path","schema":{"type":"string","format":"uuid"},"example":"78781d1f-8cc0-4f42-8e77-c02812f78b53","required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"agent":{"type":"string","format":"uuid"}}},"example":{"agent":"78781d1f-8cc0-4f42-8e77-c02812f78b53"}}}}}}},"/ai-agents/v1/agents":{"post":{"summary":"Create Agent","description":"Create a new agent","tags":["AI Agents"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"requestBody":{"description":"Request body for creating a new agent.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"teamId":{"type":"number","exclusiveMinimum":0},"makeConnectionId":{"type":"number"},"defaultModel":{"type":"string"},"systemPrompt":{"type":"string","minLength":1},"llmConfig":{"type":"object","properties":{"maxTokens":{"type":"number"}}},"scenarios":{"type":"array","items":{"type":"object","properties":{"makeScenarioId":{"type":"number","exclusiveMinimum":0},"approvalMode":{"type":"string","enum":["auto-run","approval-required"],"default":"auto-run"}},"required":["makeScenarioId"]}},"historyConfig":{"type":"object","nullable":true,"properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"mcpConfigs":{"type":"array","items":{"type":"object","properties":{"mcpConnectionId":{"type":"integer"},"toolIds":{"type":"array","items":{"type":"string"}}}}},"contexts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"}}}},"outputParserFormat":{"type":"object","oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["make-schema"]},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the field"},"type":{"type":"string","enum":["string","text","email","url","uuid","color","number","integer","uinteger","boolean","date","json","dynamicCollection","collection","array","select","any"],"description":"The type of the interface element"},"label":{"type":"string","description":"Optional label for the field"},"required":{"type":"boolean","default":false,"description":"Whether the field is required"},"spec":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}},{"type":"array","maxItems":10,"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}}}],"description":"Optional nested specification for complex fields"}},"required":["name","type"]},"minItems":1}},"required":["type","schema"]}]}},"required":["name","teamId","makeConnectionId","defaultModel","systemPrompt"],"description":"Request body for creating a new agent.","example":{"name":"Example Agent","teamId":1,"makeConnectionId":123,"defaultModel":"gpt-3.5-turbo","systemPrompt":"You are a helpful assistant.","scenarios":[{"makeScenarioId":123,"approvalMode":"auto-run"}],"mcpConfigs":[{"mcpConnectionId":456,"toolIds":["tool1","tool2"],"name":"Example MCP Config"}],"historyConfig":{"iterationsFromHistoryCount":10},"llmConfig":{"maxTokens":100000},"contexts":[{"id":"123e4567-e89b-12d3-a456-426614174000"}]}}}}},"responses":{"201":{"description":"Agent created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"teamId":{"type":"number","exclusiveMinimum":0},"makeConnectionId":{"type":"number"},"defaultModel":{"type":"string"},"systemPrompt":{"type":"string","minLength":1},"agentId":{"type":"string","format":"uuid"}},"required":["name","teamId","makeConnectionId","defaultModel","systemPrompt","agentId"],"description":"Response body for creating a new agent.","example":{"agentId":"123e4567-e89b-12d3-a456-426614174000","name":"Example Agent","teamId":1,"makeConnectionId":123,"defaultModel":"gpt-3.5-turbo","systemPrompt":"You are a helpful assistant."}}}}}}},"get":{"summary":"Get Agents","description":"Retrieve a list of all agents","tags":["AI Agents"],"security":[{"token":["ai-agents:read"]}],"parameters":[{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"responses":{"200":{"description":"List of agents retrieved successfully","content":{"application/json":{"schema":{"type":"object","required":["id","name","teamId","createdAt","systemPrompt","defaultModel","invocationConfig","scenarios","mcpConfigs","historyConfig","llmConfig","contexts"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"teamId":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"systemPrompt":{"type":"string"},"defaultModel":{"type":"string"},"invocationConfig":{"type":"object","required":["recursionLimit"],"properties":{"recursionLimit":{"type":"integer"}}},"scenarios":{"type":"array","items":{"type":"object","required":["makeScenarioId"],"properties":{"makeScenarioId":{"type":"integer"},"approvalMode":{"type":"string"}}}},"mcpConfigs":{"type":"array","items":{"type":"object","required":["mcpConnectionId","toolIds","name"],"properties":{"mcpConnectionId":{"type":"integer"},"toolIds":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"Name of the MCP connection. If the underlying MCP connection was deleted, or is otherwise corrupted, returns 'Invalid MCP Connection'."}}}},"historyConfig":{"type":"object","required":["iterationsFromHistoryCount"],"properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"llmConfig":{"type":"object","required":["maxTokens"],"properties":{"maxTokens":{"type":"integer"}}},"contexts":{"type":"array","items":{"type":"object","required":["id","agentId","documentName","description","createdAt","metadata","isTemporary"],"properties":{"id":{"type":"string","format":"uuid"},"agentId":{"type":"string","format":"uuid"},"documentName":{"type":"string"},"description":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"metadata":{"type":"object","additionalProperties":true},"isTemporary":{"type":"boolean"}}}},"outputParser":{"type":"object","oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["make-schema"]},"schema":{"type":"array"},"items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the field"},"type":{"type":"string","enum":["string","text","email","url","uuid","color","number","integer","uinteger","boolean","date","json","dynamicCollection","collection","array","select","any"],"description":"The type of the interface element"},"label":{"type":"string","description":"Optional label for the field"},"required":{"type":"boolean","default":false,"description":"Whether the field is required"},"spec":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}},{"type":"array","maxItems":10,"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}}}],"description":"Optional nested specification for complex fields"}},"minItems":1}},"required":["type","schema"]}]}}},"example":{"id":"b504aa93-0752-4bf8-887e-c2c717d525bf","name":"myagent","teamId":2,"createdAt":"2025-06-25T13:36:46.730Z","systemPrompt":"you are the greatest bot ever","defaultModel":"gemini-2.5-flash","invocationConfig":{"recursionLimit":300},"scenarios":[{"makeScenarioId":123,"approvalMode":"auto-run"}],"mcpConfigs":[{"mcpConnectionId":456,"toolIds":["tool1","tool2"],"name":"Example MCP Config"}],"historyConfig":{"iterationsFromHistoryCount":10},"llmConfig":{"maxTokens":100000},"contexts":[{"id":"123e4567-e89b-12d3-a456-426614174000","agentId":"1b504aa93-0752-4bf8-887e-c2c717d525bf0","documentName":"Example Document","description":"This is an example context for the agent.","createdAt":"2025-06-26T06:53:15.407Z","metadata":{"type":"csv"},"isTemporary":false}]}}}}}}},"/ai-agents/v1/agents/{agentId}":{"get":{"summary":"Get Agent by ID","description":"Retrieve an agent by its ID","tags":["AI Agents"],"security":[{"token":["ai-agents:read"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"agentId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"responses":{"200":{"description":"Agent retrieved successfully","content":{"application/json":{"schema":{"type":"object","required":["id","name","teamId","createdAt","systemPrompt","defaultModel","invocationConfig","scenarios","mcpConfigs","historyConfig","llmConfig","contexts"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"teamId":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"systemPrompt":{"type":"string"},"defaultModel":{"type":"string"},"invocationConfig":{"type":"object","required":["recursionLimit"],"properties":{"recursionLimit":{"type":"integer"}}},"makeConnectionId":{"type":"integer"},"makeConnectionType":{"type":"string","nullable":true},"pastConfigurations":{"type":"array","items":{"type":"object","required":["name","llmConfig","scenarios","mcpConfigs","defaultModel","systemPrompt","historyConfig","invocationConfig"],"properties":{"name":{"type":"string"},"llmConfig":{"type":"object","required":["maxTokens"],"properties":{"maxTokens":{"type":"integer"}}},"scenarios":{"type":"array","items":{"type":"object","properties":{"makeScenarioId":{"type":"integer","exclusiveMinimum":0},"approvalMode":{"type":"string","enum":["auto-run","approval-required"],"default":"auto-run"}},"required":["makeScenarioId"]}},"mcpConfigs":{"type":"array","items":{"type":"object","required":["toolIds","mcpConnectionId","name"],"properties":{"toolIds":{"type":"array","items":{"type":"string"}},"mcpConnectionId":{"type":"integer","description":"(Make) ID of the MCP connection."}}}},"defaultModel":{"type":"string"},"systemPrompt":{"type":"string"},"historyConfig":{"type":"object","required":["iterationsFromHistoryCount"],"properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"invocationConfig":{"type":"object","required":["recursionLimit"],"properties":{"recursionLimit":{"type":"integer"}}}}}},"scenarios":{"type":"array","items":{"type":"object","required":["makeScenarioId"],"properties":{"makeScenarioId":{"type":"integer"},"approvalMode":{"type":"string"}}}},"mcpConfigs":{"type":"array","items":{"type":"object","required":["mcpConnectionId","tools","name"],"properties":{"mcpConnectionId":{"type":"integer"},"tools":{"type":"array","items":{"type":"object","required":["id","isDeprecated"],"properties":{"id":{"type":"string","description":"Name of the MCP tool (from the mcp server)"},"isDeprecated":{"type":"boolean","description":"If the user has a tool set up in his agent, that the MCP server no longer supports, it is marked as deprecated (=true)."}}}},"name":{"type":"string","description":"Name of the MCP connection. If the underlying MCP connection was deleted, or is otherwise corrupted, returns 'Invalid MCP Connection'."}}}},"historyConfig":{"type":"object","required":["iterationsFromHistoryCount"],"properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"llmConfig":{"type":"object","required":["maxTokens"],"properties":{"maxTokens":{"type":"integer"}}},"llmProviderId":{"type":"integer"},"contexts":{"type":"array","items":{"type":"object","required":["id","agentId","documentName","description","createdAt","metadata","isTemporary"],"properties":{"id":{"type":"string","format":"uuid"},"agentId":{"type":"string","format":"uuid"},"documentName":{"type":"string"},"description":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"metadata":{"type":"object","additionalProperties":true},"isTemporary":{"type":"boolean"}}}},"outputParser":{"type":"object","oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["make-schema"]},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the field"},"type":{"type":"string","enum":["string","text","email","url","uuid","color","number","integer","uinteger","boolean","date","json","dynamicCollection","collection","array","select","any"],"description":"The type of the interface element"},"label":{"type":"string","description":"Optional label for the field"},"required":{"type":"boolean","default":false,"description":"Whether the field is required"},"spec":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}},{"type":"array","maxItems":10,"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}}}],"description":"Optional nested specification for complex fields"}},"required":["name","type"]},"minItems":1}},"required":["type","schema"]}]}}},"example":{"id":"b504aa93-0752-4bf8-887e-c2c717d525bf","name":"myagent","teamId":2,"createdAt":"2025-06-25T13:36:46.730Z","systemPrompt":"you are the greatest bot ever","defaultModel":"gemini-2.5-flash","invocationConfig":{"recursionLimit":300},"makeConnectionId":18,"makeConnectionType":"openai-gpt-3","pastConfigurations":[{"name":"myagent","llmConfig":{"maxTokens":100000},"scenarios":[],"mcpConfigs":[{"toolIds":["s1_list_inventory"],"mcpConnectionId":19}],"defaultModel":"gemini-2.5-flash","systemPrompt":"you are the greatest bot ever","historyConfig":{"iterationsFromHistoryCount":10},"invocationConfig":{"recursionLimit":300}}],"scenarios":[{"makeScenarioId":123,"approvalMode":"auto-run"}],"mcpConfigs":[{"mcpConnectionId":19,"toolIds":["s1_list_inventory"],"name":"mymcpconnection"},{"mcpConnectionId":14,"tools":[{"id":"fetch_generic_url_content","isDeprecated":false},{"id":"search_generic_code","isDeprecated":false}],"name":"GitMCP"}],"historyConfig":{"iterationsFromHistoryCount":10},"llmConfig":{"maxTokens":100000},"llmProviderId":9,"contexts":[{"id":"123e4567-e89b-12d3-a456-426614174000","agentId":"1b504aa93-0752-4bf8-887e-c2c717d525bf0","documentName":"Example Document","description":"This is an example context for the agent.","createdAt":"2025-06-26T06:53:15.407Z","metadata":{"type":"csv"},"isTemporary":false}],"outputParser":{"type":"make-schema","schema":[{"name":"field1","type":"string","label":"Field 1","required":true},{"name":"field2","type":"integer","label":"Field 2","required":false}]}}}}}}},"patch":{"summary":"Modify Agent by ID","description":"Modify an existing agent by its ID","tags":["AI Agents"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"agentId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"requestBody":{"description":"Request body for modifying an existing agent.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"systemPrompt":{"type":"string","minLength":1},"defaultModel":{"type":"string"},"llmConfig":{"type":"object","properties":{"maxTokens":{"type":"number"}}},"invocationConfig":{"type":"object","properties":{"recursionLimit":{"type":"integer"},"timeout":{"type":"integer"}}},"scenarios":{"type":"array","items":{"type":"object","properties":{"makeScenarioId":{"type":"number","exclusiveMinimum":0},"approvalMode":{"type":"string","enum":["auto-run","approval-required"],"default":"auto-run"}},"required":["makeScenarioId"]}},"historyConfig":{"type":"object","nullable":true,"properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"mcpConfigs":{"type":"array","items":{"type":"object","properties":{"mcpConnectionId":{"type":"integer"},"toolIds":{"type":"array","items":{"type":"string"}}},"required":["mcpConnectionId","toolIds"]}},"outputParserFormat":{"type":"object","oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["make-schema"]},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the field"},"type":{"type":"string","enum":["string","text","email","url","uuid","color","number","integer","uinteger","boolean","date","json","dynamicCollection","collection","array","select","any"],"description":"The type of the interface element"},"label":{"type":"string","description":"Optional label for the field"},"required":{"type":"boolean","default":false,"description":"Whether the field is required"},"spec":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}},{"type":"array","maxItems":10,"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}}}],"description":"Optional nested specification for complex fields"}}},"minItems":1}},"required":["type","schema"]}]}},"description":"Request body for modifying an existing agent.","example":{"name":"Modified Agent","systemPrompt":"You are a modified helpful assistant.","defaultModel":"gpt-4","llmConfig":{"maxTokens":1000},"invocationConfig":{"recursionLimit":5,"timeout":30000},"scenarios":[{"makeScenarioId":345,"approvalMode":"auto-run"}],"historyConfig":{"iterationsFromHistoryCount":3},"outputParserFormat":{"type":"make-schema","schema":[{"name":"field1","type":"string","label":"Field 1","required":true},{"name":"field2","type":"integer","label":"Field 2","required":false}]}}}}}},"responses":{"204":{"description":"Agent modified successfully"}}},"delete":{"summary":"Delete Agent by ID","description":"Delete an agent by its ID","tags":["AI Agents"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"agentId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"responses":{"204":{"description":"Agent deleted successfully"}}}},"/ai-agents/v1/agents/{agentId}/run":{"post":{"summary":"Run Agent","description":"Run an agent with the provided ID","tags":["AI Agents"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"agentId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"requestBody":{"description":"Request body for running an agent.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["assistant","user"]},"content":{"type":"string"}},"required":["role","content"]}},"threadId":{"type":"string","minLength":1,"default":"a64d23ed-2580-43e4-a898-e97193d7fd5e"},"callbackUrl":{"type":"string"},"config":{"type":"object","properties":{"systemPrompt":{"type":"string"},"additionalSystemPrompt":{"type":"string"},"scenarios":{"type":"array","items":{"type":"object","properties":{"makeScenarioId":{"type":"number","exclusiveMinimum":0},"approvalMode":{"type":"string","enum":["auto-run","approval-required"],"default":"auto-run"}},"required":["makeScenarioId"]}},"historyConfig":{"type":"object","properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"llmConfig":{"type":"object","properties":{"llmModel":{"type":"string","enum":["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","o1","o3","o3-mini","o4-mini","claude-3-7-sonnet-latest","claude-3-5-sonnet-latest","claude-3-5-haiku-latest","claude-3-opus-latest","claude-3-haiku-20240307","claude-3-sonnet-20240229","mistral-large-latest","open-mistral-nemo","mistral-small-latest","codestral-latest","command-r7b-12-2024","command-r-plus-08-2024","command-r-08-2024","llama-3.3-70b-versatile","llama-3.1-8b-instant","llama3-70b-8192","llama3-8b-8192","grok-3-latest","grok-3-fast-latest","grok-3-mini-latest","grok-3-mini-fast-latest","grok-2-latest","gemini-2.5-pro","gemini-2.5-flash","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-1.5-flash","gemini-1.5-pro"]},"settings":{"type":"object","properties":{"maxTokens":{"type":"number"}}}}},"invocationConfig":{"type":"object","properties":{"recursionLimit":{"type":"integer"},"timeout":{"type":"integer"}}},"mcpConfigs":{"type":"array","items":{"type":"object","properties":{"mcpConnectionId":{"type":"integer"},"toolIds":{"type":"array","items":{"type":"string"}}},"required":["mcpConnectionId","toolIds"]}},"outputParser":{"type":"object","oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["make-schema"]},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the field"},"type":{"type":"string","enum":["string","text","email","url","uuid","color","number","integer","uinteger","boolean","date","json","dynamicCollection","collection","array","select","any"],"description":"The type of the interface element"},"label":{"type":"string","description":"Optional label for the field"},"required":{"type":"boolean","default":false,"description":"Whether the field is required"},"spec":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}},{"type":"array","maxItems":10,"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}}}],"description":"Optional nested specification for complex fields"}},"required":["name","type"]},"minItems":1}},"required":["type","schema"]}]}}}},"required":["messages","config"],"description":"Request body for running an agent.","example":{"messages":[{"role":"user","content":"What can you do?"}],"threadId":"123e4567-e89b-12d3-a456-426614174000","config":{"systemPrompt":"You are a helpful assistant.","additionalSystemPrompt":"And you should always reply politely.","scenarios":[{"makeScenarioId":123,"approvalMode":"auto-run"}],"historyConfig":{"iterationsFromHistoryCount":2},"llmConfig":{"llmModel":"o4-mini","settings":{"maxTokens":1500}},"invocationConfig":{"recursionLimit":3,"timeout":60000},"outputParser":{"type":"text"}}}}}}},"responses":{"200":{"description":"Agent run started successfully","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"string"},"jsonResponse":{"type":"object","additionalProperties":{"nullable":true}},"executionSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"index":{"type":"number"},"role":{"type":"string","enum":["system","assistant","user","tool"]},"content":{"type":"string"},"executionTimeMs":{"type":"number"},"tokenUsage":{"nullable":true},"toolCalls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"toolType":{"type":"string","enum":["scenario","mcp","rag"]},"arguments":{"type":"object","additionalProperties":{"nullable":true}}},"required":["name","toolType","arguments"]}},"toolResponse":{"type":"object","properties":{"name":{"type":"string"},"result":{"nullable":true},"status":{"type":"string","enum":["ok","fail"]},"toolType":{"type":"string","enum":["scenario","mcp","rag"]},"executionLink":{"type":"string"}},"required":["status","toolType"]},"agentIterationId":{"type":"string"}},"required":["role","content"]}},"executionTimeMs":{"type":"integer"},"threadId":{"type":"string","format":"uuid"},"tokenUsageSummary":{"type":"object","properties":{"promptTokens":{"type":"integer"},"completionTokens":{"type":"integer"},"totalTokens":{"type":"integer"}}},"lastAgentIterationId":{"type":"string","format":"uuid"}},"required":["response","executionSteps","threadId","tokenUsageSummary"],"description":"Response body for running an agent.","example":{"response":"{\"name\":\"Liz Carlson\",\"time\":14,\"countriesVisited\":[{\"countryName\":\"Spain\",\"population\":47450795},{\"countryName\":\"New Zealand\",\"population\":5185280},{\"countryName\":\"United States\",\"population\":331893745}],\"currentStay\":\"New Zealand\"}","jsonResponse":{"name":"Liz Carlson","time":14,"countriesVisited":[{"countryName":"Spain","population":47450795},{"countryName":"New Zealand","population":5185280},{"countryName":"United States","population":331893745}],"currentStay":"New Zealand"},"executionSteps":[{"id":"4f7aa955-f0e9-499b-85de-0b3bf160c565","index":1,"role":"user","content":"get me sample json data","agentIterationId":"af7aa955-f0e9-499b-85de-0b3bf160c565"},{"id":"4f7aa955-f0e9-499b-85de-0b3bf160c566","index":2,"role":"assistant","content":"{\"name\":\"Liz Carlson\",\"time\":14,\"countriesVisited\":[{\"countryName\":\"Spain\",\"population\":47450795},{\"countryName\":\"New Zealand\",\"population\":5185280},{\"countryName\":\"United States\",\"population\":331893745}],\"currentStay\":\"New Zealand\"}","executionTimeMs":200,"tokenUsage":{"promptTokens":10,"completionTokens":20,"totalTokens":30},"agentIterationId":"af7aa955-f0e9-499b-85de-0b3bf160c565"}],"executionTimeMs":500,"threadId":"123e4567-e89b-12d3-a456-426614174000","tokenUsageSummary":{"promptTokens":10,"completionTokens":20,"totalTokens":30},"lastAgentIterationId":"af7aa955-f0e9-499b-85de-0b3bf160c565"}}}}}}}},"/ai-agents/v1/agents/{agentId}/run/stream":{"post":{"summary":"Run Agent with Server Sent Events (SSE) Streaming","description":"Run an agent with the provided ID and stream the response using Server Sent Events (SSE)","tags":["AI Agents"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"agentId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"requestBody":{"description":"Request body for running an agent with streaming.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["assistant","user"]},"content":{"type":"string"}},"required":["role","content"]}},"threadId":{"type":"string","minLength":1,"default":"d7fbd183-6b53-4dba-9469-00ec3d047cef"},"callbackUrl":{"type":"string"},"config":{"type":"object","properties":{"systemPrompt":{"type":"string"},"additionalSystemPrompt":{"type":"string"},"scenarios":{"type":"array","items":{"type":"object","properties":{"makeScenarioId":{"type":"number","exclusiveMinimum":0},"approvalMode":{"type":"string","enum":["auto-run","approval-required"],"default":"auto-run"}},"required":["makeScenarioId"]}},"historyConfig":{"type":"object","properties":{"iterationsFromHistoryCount":{"type":"integer"}}},"llmConfig":{"type":"object","properties":{"llmModel":{"type":"string","enum":["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","o1","o3","o3-mini","o4-mini","claude-sonnet-4-0","claude-opus-4-0","claude-3-7-sonnet-latest","claude-3-5-sonnet-latest","claude-3-5-haiku-latest","claude-3-opus-latest","claude-3-haiku-20240307","mistral-large-latest","open-mistral-nemo","mistral-small-latest","codestral-latest","command-r7b-12-2024","command-r-plus-08-2024","command-r-08-2024","llama-3.3-70b-versatile","llama-3.1-8b-instant","llama3-70b-8192","llama3-8b-8192","grok-3-latest","grok-3-fast-latest","grok-3-mini-latest","grok-3-mini-fast-latest","grok-2-latest","gemini-2.5-pro","gemini-2.5-flash","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-1.5-flash","gemini-1.5-pro"]},"settings":{"type":"object","properties":{"maxTokens":{"type":"number"}}}}},"invocationConfig":{"type":"object","properties":{"recursionLimit":{"type":"integer"},"timeout":{"type":"integer"}}},"mcpConfigs":{"type":"array","items":{"type":"object","properties":{"mcpConnectionId":{"type":"integer"},"toolIds":{"type":"array","items":{"type":"string"}}},"required":["mcpConnectionId","toolIds"]}},"outputParser":{"type":"object","oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["make-schema"]},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the field"},"type":{"type":"string","enum":["string","text","email","url","uuid","color","number","integer","uinteger","boolean","date","json","dynamicCollection","collection","array","select","any"],"description":"The type of the interface element"},"label":{"type":"string","description":"Optional label for the field"},"required":{"type":"boolean","default":false,"description":"Whether the field is required"},"spec":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}},{"type":"array","maxItems":10,"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean","default":false}}}}],"description":"Optional nested specification for complex fields"}},"required":["name","type"]},"minItems":1}},"required":["type","schema"]}]}}}},"required":["messages","config"],"description":"Request body for running an agent.","example":{"messages":[{"role":"user","content":"What can you do?"}],"threadId":"123e4567-e89b-12d3-a456-426614174000","config":{"systemPrompt":"You are a helpful assistant.","additionalSystemPrompt":"And you should always reply politely.","scenarios":[{"makeScenarioId":123,"approvalMode":"auto-run"}],"historyConfig":{"iterationsFromHistoryCount":2},"llmConfig":{"llmModel":"o4-mini","settings":{"maxTokens":1500}},"invocationConfig":{"recursionLimit":3,"timeout":60000},"outputParser":{"type":"text"}}}}}}},"responses":{"200":{"description":"Agent run with streaming started successfully","content":{"text/event-stream":{"schema":{"nullable":true,"description":"Server-Sent Events stream (text/event-stream)","example":"event:step\nid:4ebb9c59-ab75-41d5-8146-7407ce71f484\ndata:{\"role\":\"system\",\"content\":\"do what user says\\nCurrent time (ISO): 2025-06-26T01:42:30.080-06:00\",\"id\":\"445431dd-c20e-4a58-a043-ca9c131d4010\",\"agentIterationId\":\"a132ced5-4afd-4444-ac9d-330cc99c4986\"}\n"}}}}}}},"/ai-agents/v1/contexts":{"post":{"summary":"Create Context","description":"Create a new context with an optional file upload","tags":["AI Agents / Context"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"requestBody":{"description":"Request body for creating a new context.","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid"},"file":{"nullable":true}},"required":["agentId"],"description":"Schema for uploading a file.","example":{"agentId":"123e4567-e89b-12d3-a456-426614174000","file":{"fieldname":"file","originalname":"example.txt","encoding":"7bit","mimetype":"text/plain","size":1024}}}},"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid"},"content":{"type":"string"},"name":{"type":"string","maxLength":120,"pattern":"^[\\p{L}\\p{N}\\s\\-_.()]*$"},"autosave":{"type":"string","default":"true"}},"required":["agentId"],"description":"Request body for creating a new context.","example":{"agentId":"123e4567-e89b-12d3-a456-426614174000","content":"This is the content of the context.","name":"Example Context","autosave":"true"}}}}},"responses":{"201":{"description":"Context created successfully","content":{}}}},"get":{"summary":"List Context","description":"Retrieve a list of all context for an agent","tags":["AI Agents / Context"],"security":[{"token":["ai-agents:read"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"agentId","in":"query"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"responses":{"200":{"description":"List of context retrieved successfully","content":{}}}}},"/ai-agents/v1/contexts/{contextId}":{"delete":{"summary":"Delete Context","description":"Delete a context by its ID","tags":["AI Agents / Context"],"security":[{"token":["ai-agents:write"]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"contextId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"responses":{"204":{"description":"Context deleted successfully"}}}},"/ai-agents/v1/llm-providers":{"get":{"summary":"List LLM Providers","description":"Retrieve a list of all LLM providers","tags":["AI Agents / LLM Providers"],"security":[{"token":["ai-agents:read"]}],"parameters":[{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"responses":{"200":{"description":"LLM providers listed successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"provider":{"type":"string","enum":["openAi","anthropic","mistral","ai-agent-foundry-openai","ai-agent-foundry-non-openai","cohere","groq","xai","gemini","amazon-bedrock","openai-api-spec-compatible"]},"accountName":{"type":"string","description":"Name of the account (Make connection) associated with the LLM provider"}},"required":["id","provider","accountName"]},"description":"Response body containing a list of available LLM providers.","example":[{"id":1,"provider":"openAi","accountName":"openai-gpt-3"},{"id":2,"provider":"anthropic","accountName":"anthropic-claude"}]}}}}}}},"/ai-agents/v1/llm-providers/{providerId}":{"get":{"summary":"Get LLM Provider","description":"Retrieve details of a specific LLM provider by ID","tags":["AI Agents / LLM Providers"],"parameters":[{"schema":{"type":"number"},"required":true,"name":"providerId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"security":[{"token":["ai-agents:read"]}],"responses":{"200":{"description":"LLM provider details retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"provider":{"type":"string","enum":["openAi","anthropic","mistral","ai-agent-foundry-openai","ai-agent-foundry-non-openai","cohere","groq","xai","gemini","amazon-bedrock","openai-api-spec-compatible"]}},"required":["id","provider"]},"description":"Detailed information about a specific LLM provider.","example":[{"id":1,"provider":"openAi"}]}}}}}}},"/ai-agents/v1/llm-providers/{providerId}/models":{"get":{"summary":"List Models for LLM Provider","description":"Retrieve a list of models for a specific LLM provider by ID","tags":["AI Agents / LLM Providers"],"parameters":[{"schema":{"type":"number"},"required":true,"name":"providerId","in":"path"},{"schema":{"type":"number","exclusiveMinimum":0},"required":true,"name":"teamId","in":"query"}],"security":[{"token":["ai-agents:read"]}],"responses":{"200":{"description":"List of models for the LLM provider retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string","enum":["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","o1","o3","o3-mini","o4-mini","claude-3-7-sonnet-latest","claude-3-5-sonnet-latest","claude-3-5-haiku-latest","claude-3-opus-latest","claude-3-haiku-20240307","claude-3-sonnet-20240229","mistral-large-latest","open-mistral-nemo","mistral-small-latest","codestral-latest","command-r7b-12-2024","command-r-plus-08-2024","command-r-08-2024","llama-3.3-70b-versatile","llama-3.1-8b-instant","llama3-70b-8192","llama3-8b-8192","grok-3-latest","grok-3-fast-latest","grok-3-mini-latest","grok-3-mini-fast-latest","grok-2-latest","gemini-2.5-pro","gemini-2.5-flash","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-1.5-flash","gemini-1.5-pro"]},"provider":{"type":"string","enum":["openAi","anthropic","mistral","ai-agent-foundry-openai","ai-agent-foundry-non-openai","cohere","groq","xai","gemini","amazon-bedrock","openai-api-spec-compatible"]},"tokenLimit":{"type":"integer"},"settings":{"type":"object","properties":{"maxTokens":{"type":"integer"}}}},"required":["model","provider","tokenLimit","settings"]},"description":"Response body containing a list of models for a specific LLM provider.","example":[{"provider":"openAi","model":"gpt-4o","tokenLimit":128000,"settings":{"maxTokens":128000}}]}}}}}}},"/affiliate/partner-register":{"post":{"tags":["Affiliate"],"summary":"Register partner","description":"Registers the user as a partner in the affiliate program.","security":[{"token":["user:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"partnerCode":{"type":"string"},"paypalMeLink":{"type":"string"},"applyPromoToLink":{"type":"boolean","description":"Whether to automatically apply the partner's promo code to their referral link. Required — the UI form pre-ticks this checkbox, but the server does not substitute a default when the field is omitted."},"termsAndConditions":{"type":"boolean"}},"required":["partnerCode","paypalMeLink","applyPromoToLink","termsAndConditions"]},"example":{"partnerCode":"mypartnercode","paypalMeLink":"paypal.me/mypaypallink69","applyPromoToLink":true,"termsAndConditions":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/affiliate/stats":{"get":{"tags":["Affiliate"],"summary":"Get commission stats","description":"Retrieves graph data for commisions in the past year for the current user.","security":[{"token":["user:read"]}],"parameters":[{"name":"dateFrom","in":"query","schema":{"type":"string","format":"date"},"example":"2021-08-01"},{"name":"dateTo","in":"query","schema":{"type":"string","format":"date"},"example":"2021-11-01"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"stats":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"visits":{"type":"integer"},"registrations":{"type":"integer"},"commission":{"type":"number"}}}}}},"example":{"stats":[{"date":"2020-10-11","visits":12,"registrations":4,"commission":400},{"date":"2020-10-12","visits":3,"registrations":0,"commission":0},{"date":"2020-10-13","visits":0,"registrations":0,"commission":0},{"date":"2020-10-14","visits":1,"registrations":0,"commission":500},{"date":"2020-10-15","visits":6,"registrations":5,"commission":0},{"date":"2020-10-16","visits":7,"registrations":3,"commission":1000}]}}}}}}},"/affiliate/commissions":{"get":{"tags":["Affiliate"],"summary":"Get commissions","description":"Retrieves detailed data about individual commisions of the current user.","security":[{"token":["user:read"]}],"parameters":[{"name":"statusId","in":"query","schema":{"type":"integer"},"example":1},{"name":"dateFrom","in":"query","schema":{"type":"string","format":"date"},"example":"2021-08-01"},{"name":"dateTo","in":"query","schema":{"type":"string","format":"date"},"example":"2021-11-01"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by.","example":"id"},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"commisions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organization_id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"type":{"type":"string"},"status":{"type":"string"},"commission":{"type":"number"},"source":{"type":"string"},"payout_requested":{"type":"string","format":"date-time"},"payout_approved":{"type":"string","format":"date-time"},"payout_realized":{"type":"string","format":"date-time"}}}}}},"example":{"commissions":[{"id":1,"organization_id":3,"created":"2021-10-01 12:19:49.227869","type":"Registration","status":"Registration","commission":null,"source":"http://foo.bar","payout_requested":null,"payout_approved":null,"payout_realized":null},{"id":2,"organization_id":3,"created":"2021-10-01 12:19:49.227869","type":"Payment","status":"Available","commission":300,"source":null,"payout_requested":null,"payout_approved":null,"payout_realized":null},{"id":3,"organization_id":3,"created":"2021-11-21 12:19:49.227869","type":"Payment","status":"Requested","commission":500,"source":null,"payout_requested":"2021-12-21 12:19:49.227869","payout_approved":null,"payout_realized":null},{"id":4,"organization_id":4,"created":"2021-11-21 12:19:49.227869","type":"Payment","status":"Approved","commission":658.5,"source":null,"payout_requested":"2021-12-01 12:19:49.227869","payout_approved":"2021-12-03 12:19:49.227869","payout_realized":null},{"id":5,"partner_id":1,"organization_id":4,"created":"2021-11-21 12:19:49.227869","type":"Payment","status":"Paid","commission":300,"source":null,"payout_requested":"2021-02-01 12:19:49.227869","payout_approved":"2021-02-03 12:19:49.227869","payout_realized":"2021-02-04 12:19:49.227869"}]}}}}}}},"/affiliate/commission-info":{"get":{"tags":["Affiliate"],"summary":"Get commission info","description":"Retrieves general info about accumulated commissions of the current user.","security":[{"token":["user:read"]}],"parameters":[{"name":"dateFrom","in":"query","schema":{"type":"string","format":"date"},"example":"2021-08-01"},{"name":"dateTo","in":"query","schema":{"type":"string","format":"date"},"example":"2021-11-01"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"partnerCode":{"type":"string"},"availablePayout":{"type":"number"},"availablePayoutDistinctOrgs":{"type":"integer"},"isPayoutRequested":{"type":"boolean"},"isPayoutAvailable":{"type":"boolean"},"minimumPayout":{"type":"number"},"minimumOrganizations":{"type":"integer"},"earningsRange":{"type":"number"},"earningsTotal":{"type":"number"},"usersBroughtPayingRange":{"type":"integer"},"usersBroughtPayingTotal":{"type":"integer"},"usersBroughtAllRange":{"type":"integer"},"usersBroughtAllTotal":{"type":"integer"},"orgsBroughtPayingRange":{"type":"integer"},"orgsBroughtPayingTotal":{"type":"integer"},"orgsBroughtAllRange":{"type":"integer"},"orgsBroughtAllTotal":{"type":"integer"},"conversionRateUsersPayingRange":{"type":"number"},"conversionRateUsersPayingTotal":{"type":"number"},"conversionRateUsersAllRange":{"type":"number"},"conversionRateUsersAllTotal":{"type":"number"},"conversionRateOrgsPayingRange":{"type":"number"},"conversionRateOrgsPayingTotal":{"type":"number"},"conversionRateOrgsAllRange":{"type":"number"},"conversionRateOrgsAllTotal":{"type":"number"}}},"example":{"partnerCode":"mypartnercode","availablePayout":300.5,"availablePayoutDistinctOrgs":3,"isPayoutRequested":false,"isPayoutAvailable":true,"minimumPayout":100,"minimumOrganizations":3,"earningsRange":200.5,"earningsTotal":3333.45,"usersBroughtPayingRange":1,"usersBroughtPayingTotal":2,"usersBroughtAllRange":5,"usersBroughtAllTotal":12,"orgsBroughtPayingRange":2,"orgsBroughtPayingTotal":3,"orgsBroughtAllRange":8,"orgsBroughtAllTotal":16,"conversionRateUsersPayingRange":0.25,"conversionRateUsersPayingTotal":0.1875,"conversionRateUsersAllRange":0.11,"conversionRateUsersAllTotal":0.05,"conversionRateOrgsPayingRange":0.25,"conversionRateOrgsPayingTotal":0.1875,"conversionRateOrgsAllRange":0.11,"conversionRateOrgsAllTotal":0.05}}}}}}},"/affiliate/payout-request":{"post":{"tags":["Affiliate"],"summary":"Request payout","description":"Request a payout of available commissions.","security":[{"token":["user:write"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/audit-logs/organization/{organizationId}":{"get":{"operationId":"getOrganizationAuditLogs","tags":["Audit logs"],"summary":"List organization audit logs","deprecated":true,"description":"Gets a list of all audit log entries for the specified organization.\n\nThe audit log entries in the response are sorted by the `triggeredAt` property in descending order by default. You can use pagination to navigate through a large number of entries.\n\nYou can get the audit log entries only for organizations in which you have the \"Admin\" or \"Owner\" roles. Otherwise, you get the 403 error.\n\n**Deprecated.** Use `GET /audit-logs/v2/organization/{organizationId}` instead. That endpoint requires the\n`audit-logs:read` scope on the API token.\n","parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"team","in":"query","description":"The identification of the teams for which you want to get the audit log entries. You can use either team IDs or team names.\n\nThe team name can contain any valid UTF8 symbols and spaces.\n","schema":{"oneOf":[{"type":"string","example":"team 1"},{"type":"integer","example":1},{"type":"array","items":{"type":"string"},"example":["team 1","team 2"]},{"type":"array","items":{"type":"integer"},"example":[1,2,3]}]}},{"name":"dateFrom","in":"query","description":"Use the `dateFrom` parameter to get audit log entries from the specified date or newer. Specify the date in the YYYY-MM-DD format.","schema":{"type":"string","format":"date"},"example":"2021-09-23"},{"name":"dateTo","in":"query","description":"Use the `dateTo` parameter to get audit log entries until the specified date or older. Specify the date in the YYYY-MM-DD format.","schema":{"type":"string","format":"date"},"example":"2021-09-24"},{"description":"The list of events for which you want to get audit log entries. To specify multiple events, use the array notation like: `GET /audit-logs/organization/{organizationId}?event[0]=key_created&event[1]=connection_created`.\n\nYou can check the list of supported events with the API call `GET /audit-logs/organization/{organizationId}/filters` in the `events` array in the response.\n","name":"event","in":"query","schema":{"oneOf":[{"type":"string","example":"webhook_disabled"},{"type":"array","items":{"type":"string"},"example":["webhook_disabled","webhook_updated","webhook_deleted"]}]},"examples":{"select-events":{"value":["key_created","connection_created"]}}},{"name":"author","in":"query","description":"The identification of the users for whose actions you want to get the audit log entries. You can use either user IDs or user names.\n\nThe user name can contain any valid UTF8 symbols and spaces.\n","schema":{"oneOf":[{"type":"string","example":"author 1"},{"type":"integer","example":1},{"type":"array","items":{"type":"string"},"example":["author 1","author 2"]},{"type":"array","items":{"type":"integer"},"example":[1,2,3]}]}},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"name":"pg[last]","in":"query","schema":{"type":"integer"},"example":10,"description":"The last retrieved key. In response, you get only entries that follow after the key."},{"schema":{"type":"string","enum":["createdAt","triggeredAt","eventName","organization","team","actor","targetId"]},"description":"Specify the response property values that Make will use to sort the audit log entries in the response. The default is `triggeredAt`.","name":"pg[sortBy]","in":"query"},{"schema":{"type":"string","enum":["asc","desc"]},"name":"pg[sortDir]","in":"query","description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[returnTotalCount]","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to get also the total number of audit log entries in the response.","example":true}],"responses":{"200":{"description":"Audit log entries for the specified organization.","content":{"application/json":{"schema":{"type":"object","properties":{"auditLogs":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"uuid":{"type":"string"},"createdAt":{"type":"string"},"triggeredAt":{"type":"integer"},"organizationId":{"type":"integer"},"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"eventName":{"type":"string"},"team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"actor":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"anonymized":{"type":"boolean","description":"Present and `true` when the actor's audit logs were anonymized. The actor then has no `name` or `email`, only `id`."}}},"targetId":{"type":"string"},"version":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"}}}}}},"pg":{"allOf":[{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}},{"type":"object","properties":{"totalCount":{"type":"integer","description":"The number of audit log entries for the organization."}}}]}}},"examples":{"select-all":{"summary":"Default selection","description":"With no event specified in the `event` array, the response contains all audit log events.","value":{"auditLogs":{"uuid":"c37c7292-35cd-4dc4-9113-21b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22Z","organizationId":3,"organization":{"id":3,"name":"John Doe's Organization"},"eventName":"webhook_created","team":{"id":212,"name":"John Doe's Team"},"actor":{"id":212,"name":"John Doe","email":"john.doe@whois.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}},"pg":{"sortBy":"triggeredAt","sortDir":"desc","offset":0,"limit":100,"totalCount":60}}},"select-events":{"summary":"Select events","description":"Use the `event` parameter to select events for which you want to get audit logs. To specify multiple events, use the array notation like: `GET /audit-logs/organization/{organizationId}?event[0]=key_created&event[1]=connection_created`.","value":{"auditLogs":{"uuid":"c37c7292-35cd-4dc4-9113-21b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22Z","organizationId":3,"organization":{"id":3,"name":"John Doe's Organization"},"eventName":"connection_created","team":{"id":212,"name":"John Doe's Team"},"actor":{"id":212,"name":"John Doe","email":"john.doe@whois.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}},"pg":{"sortBy":"triggeredAt","sortDir":"desc","offset":0,"limit":100,"totalCount":60}}}}}}}}}},"/audit-logs/organization/{organizationId}/filters":{"get":{"operationId":"getOrganizationAuditLogsFilters","tags":["Audit logs"],"summary":"Get organization audit log filters","deprecated":true,"description":"Gets available audit logs filters for the organization.\n\nYou can use the data in the response to filter audit log entries you get from the `GET /audit-logs/organization/{organizationId}` endpoint.\n\n**Deprecated.** Use `GET /audit-logs/v2/organization/{organizationId}/filters` instead. That endpoint requires the\n`audit-logs:read` scope on the API token.\n","parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"responses":{"200":{"description":"Successfully retrieve of available audit logs filters for the organization","content":{"application/json":{"schema":{"type":"object","properties":{"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"events":{"type":"array","items":{"type":"object","properties":{"header":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}}}},"example":{"teams":[{"id":1,"name":"John Doe's Team"}],"users":[{"id":1,"name":"John Doe","email":"john.doe@whois.com"},{"id":2,"anonymized":true}],"events":[{"header":"Webhooks","items":[{"label":"Webhook created","value":"webhook_created"},{"label":"Webhook updated","value":"webhook_updated"}]}]}}}}}}},"/audit-logs/team/{teamId}":{"get":{"operationId":"getTeamAuditLogs","tags":["Audit logs"],"summary":"List team audit logs","deprecated":true,"description":"Gets a list of all audit log entries for the specified team.\n\nThe audit log entries in the response are sorted by the `triggeredAt` property in descending order by default. You can use pagination to navigate through a large number of entries.\n\nYou can get the audit log entries only for teams in which you have the \"Team Admin\" role. Otherwise, you get the 403 error.\n\n**Deprecated.** Use `GET /audit-logs/v2/team/{teamId}` instead. That endpoint requires the\n`audit-logs:read` scope on the API token.\n","parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":11},{"name":"dateFrom","in":"query","description":"Use the `dateFrom` parameter to get audit log entries from the specified date or newer. Specify the date in the YYYY-MM-DD format.","schema":{"type":"string","format":"date"},"example":"2021-09-23"},{"name":"dateTo","in":"query","description":"Use the `dateTo` parameter to get audit log entries until the specified date or older. Specify the date in the YYYY-MM-DD format.","schema":{"type":"string","format":"date"},"example":"2021-09-24"},{"description":"The list of events for which you want to get audit log entries. To specify multiple events, use the array notation like: `GET /audit-logs/team/{teamId}?event[0]=key_created&event[1]=connection_created`.\n\nYou can check the list of supported events with the API call `GET /audit-logs/team/{teamId}/filters` in the `events` array in the response.\n","name":"event","in":"query","schema":{"oneOf":[{"type":"string","example":"webhook_disabled"},{"type":"array","items":{"type":"string"},"example":["webhook_disabled","webhook_updated","webhook_deleted"]}]},"examples":{"select-events":{"value":["key_created","connection_created"]}}},{"name":"author","in":"query","description":"The identification of the users for whose actions you want to get the audit log entries. You can use either user IDs or user names.\n\nThe user name can contain any valid UTF8 symbols and spaces.\n","schema":{"oneOf":[{"type":"string","example":"author 1"},{"type":"integer","example":1},{"type":"array","items":{"type":"string"},"example":["author 1","author 2"]},{"type":"array","items":{"type":"integer"},"example":[1,2,3]}]}},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"name":"pg[last]","in":"query","schema":{"type":"integer"},"example":10,"description":"The last retrieved key. In response, you get only entries that follow after the key."},{"schema":{"type":"string","enum":["createdAt","triggeredAt","eventName","organization","team","actor","targetId"]},"description":"Specify the response property values that Make will use to sort the audit log entries in the response. The default is `triggeredAt`.","name":"pg[sortBy]","in":"query"},{"schema":{"type":"string","enum":["asc","desc"]},"name":"pg[sortDir]","in":"query","description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[returnTotalCount]","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to get also the total number of audit log entries in the response.","example":true}],"responses":{"200":{"description":"Audit log entries for the specified team.","content":{"application/json":{"schema":{"type":"object","properties":{"auditLogs":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"uuid":{"type":"string"},"createdAt":{"type":"string"},"triggeredAt":{"type":"integer"},"organizationId":{"type":"integer"},"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"eventName":{"type":"string"},"team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"actor":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"anonymized":{"type":"boolean","description":"Present and `true` when the actor's audit logs were anonymized. The actor then has no `name` or `email`, only `id`."}}},"targetId":{"type":"string"},"version":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"}}}}}},"pg":{"allOf":[{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}},{"type":"object","properties":{"totalCount":{"type":"integer","description":"The number of audit log entries for the organization."}}}]}}},"examples":{"select-all":{"summary":"Default selection","description":"With no event specified in the `event` array, the response contains all audit log events.","value":{"auditLogs":{"uuid":"c37c7292-35cd-4dc4-9113-21b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22Z","organizationId":3,"organization":{"id":3,"name":"John Doe's Organization"},"eventName":"webhook_created","team":{"id":212,"name":"John Doe's Team"},"actor":{"id":212,"name":"John Doe","email":"john.doe@whois.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}},"pg":{"sortBy":"triggeredAt","sortDir":"desc","offset":0,"limit":100,"totalCount":60}}},"select-events":{"summary":"Select events","description":"Use the `event` parameter to select events for which you want to get audit logs. To specify multiple events, use the array notation like: `GET /audit-logs/organization/{organizationId}?event[0]=key_created&event[1]=connection_created`.","value":{"auditLogs":{"uuid":"c37c7292-35cd-4dc4-9113-21b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22Z","organizationId":3,"organization":{"id":3,"name":"John Doe's Organization"},"eventName":"connection_created","team":{"id":212,"name":"John Doe's Team"},"actor":{"id":212,"name":"John Doe","email":"john.doe@whois.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}},"pg":{"sortBy":"triggeredAt","sortDir":"desc","offset":0,"limit":100,"totalCount":60}}}}}}}}}},"/audit-logs/team/{teamId}/filters":{"get":{"operationId":"getTeamAuditLogsFilters","tags":["Audit logs"],"summary":"Get organization audit log filters","deprecated":true,"description":"Gets available audit logs filters for the team.\n\nYou can use the data in the response to filter audit log entries you get from the `GET /audit-logs/team/{teamId}` endpoint.\n\n**Deprecated.** Use `GET /audit-logs/v2/team/{teamId}/filters` instead. That endpoint requires the\n`audit-logs:read` scope on the API token.\n","parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":11}],"responses":{"200":{"description":"Successfully retried available audit logs filters for the team","content":{"application/json":{"schema":{"type":"object","properties":{"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}}},"events":{"type":"array","items":{"type":"object","properties":{"header":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}}}},"example":{"users":[{"id":1,"name":"John Doe","email":"john.doe@whois.com"},{"id":2,"anonymized":true}],"events":[{"header":"Webhooks","items":[{"label":"Webhook created","value":"webhook_created"},{"label":"Webhook updated","value":"webhook_updated"}]}]}}}}}}},"/audit-logs/{organizationId}/{uuid}":{"get":{"operationId":"getAuditLogDetail","tags":["Audit logs"],"summary":"Get audit log detail","deprecated":true,"description":"Gets details of the audit log entry with the specified UUID.\n\n**Deprecated.** Use `GET /audit-logs/v2/{organizationId}/{uuid}` instead. That endpoint requires the\n`audit-logs:read` scope on the API token.\n","parameters":[{"name":"uuid","in":"path","schema":{"type":"string"},"description":"The UUID of the audit log entry.","required":true,"example":"c37c7292-35cd-4dc4-9113-21b23beaea7d"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"allOf":[{"type":"object","additionalProperties":false,"properties":{"uuid":{"type":"string"},"createdAt":{"type":"string"},"triggeredAt":{"type":"integer"},"organizationId":{"type":"integer"},"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"eventName":{"type":"string"},"team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"actor":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"anonymized":{"type":"boolean","description":"Present and `true` when the actor's audit logs were anonymized. The actor then has no `name` or `email`, only `id`."}}},"targetId":{"type":"string"},"version":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"}}}}},{"type":"object","properties":{"details":{"type":"object","additionalProperties":true,"description":"Event-specific data. When a user named here was anonymized, their personal data is removed and `anonymized` is `true`."}}}]},"example":{"details":{"webhookName":"Webhook from John Doe","webhookType":"http"},"uuid":"c37c7292-35cd-4dc4-9113-21b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22Z","organizationId":3,"organization":{"id":3,"name":"John Doe's Organization"},"eventName":"webhook_created","team":{"id":212,"name":"John Doe's Team"},"actor":{"id":212,"name":"John Doe","email":"john.doe@whois.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}}}}}}}},"/audit-logs/v2/organization/{organizationId}":{"get":{"operationId":"getOrganizationAuditLogsV2","tags":["Audit logs"],"summary":"List organization audit logs","description":"Gets a list of all audit log entries for the specified organization.\n\nRequires the `audit-logs:read` scope on the API token.\n\nThe audit log entries in the response are sorted by the `triggeredAt` property in ascending order by default. Use the `pg` object to change the sorting or navigate through a large result set. For cursor pagination, pass the last entry's `imtId` as `pg[last]`.\n\nYou can get the audit log entries only for organizations in which you have the \"Admin\" or \"Owner\" roles. Otherwise, you get the 403 error.\n","security":[{"token":["audit-logs:read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The positive ID of the organization.","schema":{"type":"integer","minimum":1},"example":11},{"name":"team","in":"query","description":"Filter by one or more positive team IDs or team names. Repeat the parameter to provide multiple values.","style":"form","explode":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1}]}}]},"examples":{"teams":{"value":[212,"Operations"]}}},{"name":"dateFrom","in":"query","description":"Return entries triggered at or after this ISO 8601 date, ISO 8601 date-time, or Unix timestamp in milliseconds.","schema":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"integer","format":"int64"}]},"examples":{"date":{"value":"2026-09-01"},"date-time":{"value":"2026-09-01T12:00:00.000Z"},"timestamp":{"value":1788264000000}}},{"name":"dateTo","in":"query","description":"Return entries triggered at or before this ISO 8601 date, ISO 8601 date-time, or Unix timestamp in milliseconds.","schema":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"integer","format":"int64"}]},"examples":{"date":{"value":"2026-09-22"},"date-time":{"value":"2026-09-22T23:59:59.999Z"},"timestamp":{"value":1790121599999}}},{"name":"event","in":"query","description":"Filter by one or more event names. Repeat the parameter to provide multiple values.","style":"form","explode":true,"schema":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"examples":{"events":{"value":["key_created","connection_created"]}}},{"name":"author","in":"query","description":"Filter by one or more positive actor IDs, names, or email addresses. Repeat the parameter to provide multiple values.","style":"form","explode":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1}]}}]},"examples":{"authors":{"value":[212,"john.doe@example.com"]}}},{"name":"pg","in":"query","description":"Pagination and sorting options encoded as a deep object, for example `pg[limit]=100&pg[offset]=0`.","style":"deepObject","explode":true,"schema":{"type":"object","additionalProperties":false,"default":{},"properties":{"sortBy":{"type":"string","description":"The audit-log property used for sorting.","enum":["triggeredAt","createdAt","eventName","targetId"],"default":"triggeredAt"},"sortDir":{"type":"string","description":"The sort direction.","enum":["asc","desc"],"default":"asc"},"returnTotalCount":{"type":"boolean","description":"When true, the response's `pg` object includes `totalCount`.","default":false},"last":{"type":"string","description":"The `imtId` of the last entry from the previous page. When provided, `offset` is ignored.","pattern":"^[0-9]{13}_[^_]+$","example":"1788264000000_c37c729235cd4dc4911323b23beaea7d"},"limit":{"type":"integer","description":"The maximum number of entries to return.","minimum":1,"maximum":10000,"default":1000},"offset":{"type":"integer","description":"The number of matching entries to skip. This value is ignored when `last` is provided.","minimum":0,"default":0}}},"examples":{"first-page":{"value":{"sortBy":"triggeredAt","sortDir":"desc","returnTotalCount":true,"limit":100,"offset":0}},"cursor-page":{"value":{"sortBy":"triggeredAt","sortDir":"desc","last":"1788264000000_c37c729235cd4dc4911323b23beaea7d","limit":100}}}}],"responses":{"200":{"description":"Audit log entries for the specified organization.","content":{"application/json":{"schema":{"type":"object","required":["auditLogs","pg"],"properties":{"auditLogs":{"type":"array","items":{"allOf":[{"type":"object","required":["uuid","createdAt","triggeredAt","eventName","actor","targetId"],"properties":{"uuid":{"type":"string","description":"The UUIDv4 of the audit log entry. Hyphens are optional.","pattern":"^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?4[0-9a-fA-F]{3}-?[89abAB][0-9a-fA-F]{3}-?[0-9a-fA-F]{12}$"},"createdAt":{"type":"string","format":"date-time","description":"When Auditman stored the entry."},"triggeredAt":{"type":"string","format":"date-time","description":"When the audited event occurred."},"organizationId":{"type":"integer","minimum":1},"organization":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}},"eventName":{"type":"string"},"team":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}},"actor":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"},"email":{"type":"string"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}},"targetId":{"type":"string"},"version":{"type":"object","required":["to"],"properties":{"from":{"type":"string"},"to":{"type":"string"}}}}},{"type":"object","properties":{"imtId":{"type":"string","description":"Cursor identifier to pass as `pg[last]` when requesting the next page.","pattern":"^[0-9]{13}_[^_]+$"}}}]}},"pg":{"type":"object","required":["limit"],"properties":{"sortBy":{"type":"string","enum":["triggeredAt","createdAt","eventName","targetId"]},"sortDir":{"type":"string","enum":["asc","desc"]},"returnTotalCount":{"type":"boolean"},"last":{"type":"string","pattern":"^[0-9]{13}_[^_]+$"},"limit":{"type":"integer","minimum":1,"maximum":10000},"offset":{"type":"integer","minimum":0},"totalCount":{"type":"integer","minimum":0}}}}},"examples":{"default":{"summary":"Audit log entries using the default pagination options","value":{"auditLogs":[{"uuid":"c37c729235cd4dc4911321b23beaea7d","imtId":"1713528322000_c37c729235cd4dc4911321b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22.000Z","organizationId":3,"organization":{"id":3,"name":"John's Organization"},"eventName":"webhook_created","team":{"id":212,"name":"Operations"},"actor":{"id":212,"name":"John Doe","email":"john.doe@example.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}},{"uuid":"5a1f0c2e8d3b4e6f9a7c1b2d3e4f5a6b","imtId":"1713528000000_5a1f0c2e8d3b4e6f9a7c1b2d3e4f5a6b","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:00:00.000Z","organizationId":3,"organization":{"id":3,"name":"John's Organization"},"eventName":"webhook_deleted","team":{"id":212,"name":"Operations"},"actor":{"id":213,"anonymized":true},"targetId":"2999"}],"pg":{"sortDir":"asc","returnTotalCount":false,"limit":1000,"offset":0}}}}}}},"400":{"description":"An identifier, date, filter, pagination, or sorting value is invalid (`SC400`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"invalidRequest":{"summary":"Invalid request parameter","value":{"code":"SC400","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"401":{"description":"Authentication failed, the authorization lacks `audit-logs:read`, or an organization-bound authorization cannot access the requested entity (`IM001` or `SC401`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"missingScope":{"summary":"Authorization lacks the required scope","value":{"code":"IM001","message":"Access denied","detail":"Required scope: audit-logs:read"}}}}}},"402":{"description":"The organization license does not include the audit logs feature (`IM027`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"licenseLimit":{"summary":"Audit logs are not included in the organization license","value":{"code":"IM027","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"403":{"description":"The caller lacks permission to view audit logs for the requested organization or team, or the audit log entry belongs to a different organization (`SC403`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"permissionDenied":{"summary":"Caller lacks permission to view the requested audit logs","value":{"code":"SC403","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"404":{"description":"The requested organization, team, or audit log entry does not exist (`SC404`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"resourceNotFound":{"summary":"Requested audit-log resource does not exist","value":{"code":"SC404","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}}}}},"/audit-logs/v2/organization/{organizationId}/filters":{"get":{"operationId":"getOrganizationAuditLogsFiltersV2","tags":["Audit logs"],"summary":"Get organization audit log filters","description":"Gets available audit logs filters for the organization.\n\nRequires the `audit-logs:read` scope on the API token.\n\nUse the data in the response to build filters for the `GET /audit-logs/v2/organization/{organizationId}` endpoint: `users` and `teams` supply the values for the `author` and `team` parameters, and `events` supplies the values for the `event` parameter. The endpoint takes no query parameters.\n","security":[{"token":["audit-logs:read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The positive ID of the organization.","schema":{"type":"integer","minimum":1},"example":11}],"responses":{"200":{"description":"Available audit logs filters for the specified organization.","content":{"application/json":{"schema":{"type":"object","required":["users","teams","events"],"properties":{"users":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"},"email":{"type":"string"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}}},"teams":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}}},"events":{"anyOf":[{"type":"array","items":{"type":"object","required":["header","items"],"properties":{"header":{"type":"string"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["label","value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}},{"type":"array","maxItems":1,"items":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"items":{"type":"object","required":["label","value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}}]}}},"examples":{"default":{"summary":"Organization audit-log filter options","value":{"users":[{"id":212,"name":"John Doe","email":"john.doe@example.com"},{"id":213,"anonymized":true}],"teams":[{"id":212,"name":"Operations"}],"events":[{"header":"Webhooks","items":[{"label":"Webhook created","value":"webhook_created"},{"label":"Webhook updated","value":"webhook_updated"}]}]}}}}}},"400":{"description":"An identifier, date, filter, pagination, or sorting value is invalid (`SC400`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"invalidRequest":{"summary":"Invalid request parameter","value":{"code":"SC400","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"401":{"description":"Authentication failed, the authorization lacks `audit-logs:read`, or an organization-bound authorization cannot access the requested entity (`IM001` or `SC401`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"missingScope":{"summary":"Authorization lacks the required scope","value":{"code":"IM001","message":"Access denied","detail":"Required scope: audit-logs:read"}}}}}},"402":{"description":"The organization license does not include the audit logs feature (`IM027`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"licenseLimit":{"summary":"Audit logs are not included in the organization license","value":{"code":"IM027","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"403":{"description":"The caller lacks permission to view audit logs for the requested organization or team, or the audit log entry belongs to a different organization (`SC403`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"permissionDenied":{"summary":"Caller lacks permission to view the requested audit logs","value":{"code":"SC403","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"404":{"description":"The requested organization, team, or audit log entry does not exist (`SC404`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"resourceNotFound":{"summary":"Requested audit-log resource does not exist","value":{"code":"SC404","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}}}}},"/audit-logs/v2/team/{teamId}":{"get":{"operationId":"getTeamAuditLogsV2","tags":["Audit logs"],"summary":"List team audit logs","description":"Gets a list of all audit log entries for the specified team.\n\nRequires the `audit-logs:read` scope on the API token.\n\nThe audit log entries in the response are sorted by the `triggeredAt` property in ascending order by default. Use the `pg` object to change the sorting or navigate through a large result set. For cursor pagination, pass the last entry's `imtId` as `pg[last]`.\n\nYou can get the audit log entries only for teams in which you have the \"Team Admin\" role. Otherwise, you get the 403 error.\n","security":[{"token":["audit-logs:read"]}],"parameters":[{"name":"teamId","in":"path","required":true,"description":"The positive ID of the team.","schema":{"type":"integer","minimum":1},"example":212},{"name":"dateFrom","in":"query","description":"Return entries triggered at or after this ISO 8601 date, ISO 8601 date-time, or Unix timestamp in milliseconds.","schema":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"integer","format":"int64"}]},"examples":{"date":{"value":"2026-09-01"},"date-time":{"value":"2026-09-01T12:00:00.000Z"},"timestamp":{"value":1788264000000}}},{"name":"dateTo","in":"query","description":"Return entries triggered at or before this ISO 8601 date, ISO 8601 date-time, or Unix timestamp in milliseconds.","schema":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"integer","format":"int64"}]},"examples":{"date":{"value":"2026-09-22"},"date-time":{"value":"2026-09-22T23:59:59.999Z"},"timestamp":{"value":1790121599999}}},{"name":"event","in":"query","description":"Filter by one or more event names. Repeat the parameter to provide multiple values.","style":"form","explode":true,"schema":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"examples":{"events":{"value":["key_created","connection_created"]}}},{"name":"author","in":"query","description":"Filter by one or more positive actor IDs, names, or email addresses. Repeat the parameter to provide multiple values.","style":"form","explode":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1}]}}]},"examples":{"authors":{"value":[212,"john.doe@example.com"]}}},{"name":"pg","in":"query","description":"Pagination and sorting options encoded as a deep object, for example `pg[limit]=100&pg[offset]=0`.","style":"deepObject","explode":true,"schema":{"type":"object","additionalProperties":false,"default":{},"properties":{"sortBy":{"type":"string","description":"The audit-log property used for sorting.","enum":["triggeredAt","createdAt","eventName","targetId"],"default":"triggeredAt"},"sortDir":{"type":"string","description":"The sort direction.","enum":["asc","desc"],"default":"asc"},"returnTotalCount":{"type":"boolean","description":"When true, the response's `pg` object includes `totalCount`.","default":false},"last":{"type":"string","description":"The `imtId` of the last entry from the previous page. When provided, `offset` is ignored.","pattern":"^[0-9]{13}_[^_]+$","example":"1788264000000_c37c729235cd4dc4911323b23beaea7d"},"limit":{"type":"integer","description":"The maximum number of entries to return.","minimum":1,"maximum":10000,"default":1000},"offset":{"type":"integer","description":"The number of matching entries to skip. This value is ignored when `last` is provided.","minimum":0,"default":0}}},"examples":{"first-page":{"value":{"sortBy":"triggeredAt","sortDir":"desc","returnTotalCount":true,"limit":100,"offset":0}},"cursor-page":{"value":{"sortBy":"triggeredAt","sortDir":"desc","last":"1788264000000_c37c729235cd4dc4911323b23beaea7d","limit":100}}}}],"responses":{"200":{"description":"Audit log entries for the specified team.","content":{"application/json":{"schema":{"type":"object","required":["auditLogs","pg"],"properties":{"auditLogs":{"type":"array","items":{"allOf":[{"type":"object","required":["uuid","createdAt","triggeredAt","eventName","actor","targetId"],"properties":{"uuid":{"type":"string","description":"The UUIDv4 of the audit log entry. Hyphens are optional.","pattern":"^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?4[0-9a-fA-F]{3}-?[89abAB][0-9a-fA-F]{3}-?[0-9a-fA-F]{12}$"},"createdAt":{"type":"string","format":"date-time","description":"When Auditman stored the entry."},"triggeredAt":{"type":"string","format":"date-time","description":"When the audited event occurred."},"organizationId":{"type":"integer","minimum":1},"organization":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}},"eventName":{"type":"string"},"team":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}},"actor":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"},"email":{"type":"string"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}},"targetId":{"type":"string"},"version":{"type":"object","required":["to"],"properties":{"from":{"type":"string"},"to":{"type":"string"}}}}},{"type":"object","properties":{"imtId":{"type":"string","description":"Cursor identifier to pass as `pg[last]` when requesting the next page.","pattern":"^[0-9]{13}_[^_]+$"}}}]}},"pg":{"type":"object","required":["limit"],"properties":{"sortBy":{"type":"string","enum":["triggeredAt","createdAt","eventName","targetId"]},"sortDir":{"type":"string","enum":["asc","desc"]},"returnTotalCount":{"type":"boolean"},"last":{"type":"string","pattern":"^[0-9]{13}_[^_]+$"},"limit":{"type":"integer","minimum":1,"maximum":10000},"offset":{"type":"integer","minimum":0},"totalCount":{"type":"integer","minimum":0}}}}},"examples":{"default":{"summary":"Audit log entries using the default pagination options","value":{"auditLogs":[{"uuid":"c37c729235cd4dc4911321b23beaea7d","imtId":"1713528322000_c37c729235cd4dc4911321b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22.000Z","organizationId":3,"organization":{"id":3,"name":"John's Organization"},"eventName":"webhook_created","team":{"id":212,"name":"Operations"},"actor":{"id":212,"name":"John Doe","email":"john.doe@example.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"}},{"uuid":"5a1f0c2e8d3b4e6f9a7c1b2d3e4f5a6b","imtId":"1713528000000_5a1f0c2e8d3b4e6f9a7c1b2d3e4f5a6b","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:00:00.000Z","organizationId":3,"organization":{"id":3,"name":"John's Organization"},"eventName":"webhook_deleted","team":{"id":212,"name":"Operations"},"actor":{"id":213,"anonymized":true},"targetId":"2999"}],"pg":{"sortDir":"asc","returnTotalCount":false,"limit":1000,"offset":0}}}}}}},"400":{"description":"An identifier, date, filter, pagination, or sorting value is invalid (`SC400`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"invalidRequest":{"summary":"Invalid request parameter","value":{"code":"SC400","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"401":{"description":"Authentication failed, the authorization lacks `audit-logs:read`, or an organization-bound authorization cannot access the requested entity (`IM001` or `SC401`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"missingScope":{"summary":"Authorization lacks the required scope","value":{"code":"IM001","message":"Access denied","detail":"Required scope: audit-logs:read"}}}}}},"402":{"description":"The organization license does not include the audit logs feature (`IM027`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"licenseLimit":{"summary":"Audit logs are not included in the organization license","value":{"code":"IM027","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"403":{"description":"The caller lacks permission to view audit logs for the requested organization or team, or the audit log entry belongs to a different organization (`SC403`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"permissionDenied":{"summary":"Caller lacks permission to view the requested audit logs","value":{"code":"SC403","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"404":{"description":"The requested organization, team, or audit log entry does not exist (`SC404`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"resourceNotFound":{"summary":"Requested audit-log resource does not exist","value":{"code":"SC404","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}}}}},"/audit-logs/v2/team/{teamId}/filters":{"get":{"operationId":"getTeamAuditLogsFiltersV2","tags":["Audit logs"],"summary":"Get team audit log filters","description":"Gets available audit logs filters for the team.\n\nRequires the `audit-logs:read` scope on the API token.\n\nUse the data in the response to build filters for the `GET /audit-logs/v2/team/{teamId}` endpoint: `users` supplies the values for the `author` parameter and `events` supplies the values for the `event` parameter. The response has no `teams` array — the team is already fixed by the path. The endpoint takes no query parameters.\n","security":[{"token":["audit-logs:read"]}],"parameters":[{"name":"teamId","in":"path","required":true,"description":"The positive ID of the team.","schema":{"type":"integer","minimum":1},"example":212}],"responses":{"200":{"description":"Available audit logs filters for the specified team.","content":{"application/json":{"schema":{"type":"object","required":["users","events"],"properties":{"users":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"},"email":{"type":"string"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}}},"events":{"anyOf":[{"type":"array","items":{"type":"object","required":["header","items"],"properties":{"header":{"type":"string"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["label","value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}},{"type":"array","maxItems":1,"items":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"items":{"type":"object","required":["label","value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}}]}}},"examples":{"default":{"summary":"Team audit-log filter options","value":{"users":[{"id":212,"name":"John Doe","email":"john.doe@example.com"},{"id":213,"anonymized":true}],"events":[{"header":"Webhooks","items":[{"label":"Webhook created","value":"webhook_created"},{"label":"Webhook updated","value":"webhook_updated"}]}]}}}}}},"400":{"description":"An identifier, date, filter, pagination, or sorting value is invalid (`SC400`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"invalidRequest":{"summary":"Invalid request parameter","value":{"code":"SC400","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"401":{"description":"Authentication failed, the authorization lacks `audit-logs:read`, or an organization-bound authorization cannot access the requested entity (`IM001` or `SC401`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"missingScope":{"summary":"Authorization lacks the required scope","value":{"code":"IM001","message":"Access denied","detail":"Required scope: audit-logs:read"}}}}}},"402":{"description":"The organization license does not include the audit logs feature (`IM027`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"licenseLimit":{"summary":"Audit logs are not included in the organization license","value":{"code":"IM027","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"403":{"description":"The caller lacks permission to view audit logs for the requested organization or team, or the audit log entry belongs to a different organization (`SC403`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"permissionDenied":{"summary":"Caller lacks permission to view the requested audit logs","value":{"code":"SC403","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"404":{"description":"The requested organization, team, or audit log entry does not exist (`SC404`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"resourceNotFound":{"summary":"Requested audit-log resource does not exist","value":{"code":"SC404","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}}}}},"/audit-logs/v2/{organizationId}/{uuid}":{"get":{"operationId":"getAuditLogDetailV2","tags":["Audit logs"],"summary":"Get audit log detail","description":"Gets details of the audit log entry with the specified UUID.\n\nRequires the `audit-logs:read` scope on the API token.\n\nThe `organizationId` in the path must be the organization the entry belongs to.\n","security":[{"token":["audit-logs:read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The positive ID of the organization.","schema":{"type":"integer","minimum":1},"example":11},{"name":"uuid","in":"path","required":true,"description":"The UUIDv4 of the audit log entry. Hyphens are optional.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?4[0-9a-fA-F]{3}-?[89abAB][0-9a-fA-F]{3}-?[0-9a-fA-F]{12}$"},"example":"c37c7292-35cd-4dc4-9113-21b23beaea7d"}],"responses":{"200":{"description":"Detail of the specified audit log entry.","content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["uuid","createdAt","triggeredAt","eventName","actor","targetId"],"properties":{"uuid":{"type":"string","description":"The UUIDv4 of the audit log entry. Hyphens are optional.","pattern":"^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?4[0-9a-fA-F]{3}-?[89abAB][0-9a-fA-F]{3}-?[0-9a-fA-F]{12}$"},"createdAt":{"type":"string","format":"date-time","description":"When Auditman stored the entry."},"triggeredAt":{"type":"string","format":"date-time","description":"When the audited event occurred."},"organizationId":{"type":"integer","minimum":1},"organization":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}},"eventName":{"type":"string"},"team":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"}}},"actor":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"},"email":{"type":"string"},"anonymized":{"type":"boolean","description":"Present and `true` when the user's audit logs were anonymized. The user then has no `name` or `email`, only `id`."}}},"targetId":{"type":"string"},"version":{"type":"object","required":["to"],"properties":{"from":{"type":"string"},"to":{"type":"string"}}}}},{"type":"object","properties":{"detail":{"type":"object","additionalProperties":true,"description":"Event-specific data. When a user named here was anonymized, their personal data is removed and `anonymized` is `true`."}}}]},"examples":{"default":{"summary":"Audit log detail","value":{"uuid":"c37c729235cd4dc4911321b23beaea7d","createdAt":"2024-05-24T14:22:16.879Z","triggeredAt":"2024-04-19T12:05:22.000Z","organizationId":3,"organization":{"id":3,"name":"John's Organization"},"eventName":"webhook_created","team":{"id":212,"name":"Operations"},"actor":{"id":212,"name":"John Doe","email":"john.doe@example.com"},"targetId":"3000","version":{"from":"1.0.0","to":"1.0.1"},"detail":{"webhookName":"Orders webhook","webhookType":"http"}}}}}}},"400":{"description":"An identifier, date, filter, pagination, or sorting value is invalid (`SC400`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"invalidRequest":{"summary":"Invalid request parameter","value":{"code":"SC400","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"401":{"description":"Authentication failed, the authorization lacks `audit-logs:read`, or an organization-bound authorization cannot access the requested entity (`IM001` or `SC401`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"missingScope":{"summary":"Authorization lacks the required scope","value":{"code":"IM001","message":"Access denied","detail":"Required scope: audit-logs:read"}}}}}},"402":{"description":"The organization license does not include the audit logs feature (`IM027`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"licenseLimit":{"summary":"Audit logs are not included in the organization license","value":{"code":"IM027","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"403":{"description":"The caller lacks permission to view audit logs for the requested organization or team, or the audit log entry belongs to a different organization (`SC403`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"permissionDenied":{"summary":"Caller lacks permission to view the requested audit logs","value":{"code":"SC403","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}},"404":{"description":"The requested organization, team, or audit log entry does not exist (`SC404`).","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable Make API or Auditman error code."},"name":{"type":"string","description":"Error name included in responses returned by Auditman."},"message":{"type":"string","description":"Human-readable error message. Auditman uses a generic message in production responses."},"detail":{"type":"string","description":"Request-specific detail when the response safely exposes one."},"details":{"type":"array","description":"Individual validation failures included by Auditman outside production.","items":{"type":"string"}}}},"examples":{"resourceNotFound":{"summary":"Requested audit-log resource does not exist","value":{"code":"SC404","name":"Error","message":"There was an error while generating the response. Please try again later."}}}}}}}}},"/analytics/{organizationId}":{"get":{"tags":["Analytics"],"summary":"Get organization analytics","description":"Gets analytics data for the specified organization. This feature is available only for organizations with the Enterprise plan. You can get analytics data only for organizations where you have the \"Owner\" organization role. Otherwise, you get the 403 error.\n\nThe data entries in the response are sorted by the amount of operations used by a scenario in ascending order. Specify different sorting with the `sortBy` parameter. You can use query parameters (like `timeframe[dateFrom]`, `timeframe[dateTo]` or `teamId`) to refine the results and pagination to navigate through a large number of entries.\n\nMake keeps the analytics data for a maximum of 30 days for non-Enterprise plans and 60 days for Enterprise plans. The default time frame reflects the maximum available for your plan.\n","security":[{"token":["analytics:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"teamId","in":"query","description":"IDs of the teams for which you want to get the analytics data.\n","schema":{"oneOf":[{"type":"integer","example":1},{"type":"array","items":{"type":"integer"},"example":[1,2,3]}]}},{"name":"folderId","in":"query","description":"IDs of the scenario folders for which you want to get the analytics data.\n","schema":{"oneOf":[{"type":"integer","example":1},{"type":"array","items":{"type":"integer"},"example":[1,2,3]}]}},{"name":"status","in":"query","description":"You can use the `status` parameter to get analytics data about scenarios with specific scenario statuses. The available scenario statuses are:\n\n- `active`: scenario is enabled\n- `inactive`: scenario is disabled\n- `invalid`: scenario is disabled due to errors\n","schema":{"oneOf":[{"example":"active","type":"string","enum":["active","invalid","inactive"]},{"type":"array","items":{"type":"string","enum":["active","invalid","inactive"]},"example":["inactive","invalid"]}]}},{"name":"timeframe[dateFrom]","in":"query","description":"Use the `timeframe[dateFrom]` parameter to get analytics data from the specified date. Specify the date and time in the ISO 8601 compliant format.\n\nThe default is the date since one year from today. You can't use a date older than a year from today.\n","schema":{"type":"string","format":"date-time"},"example":"2020-03-20T05:53:27.368Z"},{"name":"timeframe[dateTo]","in":"query","description":"Use the `timeframe[dateTo]` parameter to get analytics data until the specified date. Specify the date and time in the ISO 8601 compliant format.\n\nThe default is to get data until today.\n","schema":{"type":"string","format":"date-time"},"example":"2020-03-27T05:53:27.368Z"},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"name":"pg[last]","in":"query","schema":{"type":"integer"},"example":10,"description":"The last retrieved key. In response, you get only entries that follow after the key."},{"schema":{"type":"string","enum":["name","teamName","status","operations","executions","errors","errorRate","executionsChange","operationsChange","errorsChange","errorRateChange"]},"description":"Specify which property Make will use to sort the analytics entries in the response. The default is `operations`.","name":"pg[sortBy]","in":"query"},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[returnTotalCount]","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to get also the total number of analytics entries in the response.","example":true}],"responses":{"200":{"description":"Analytics entries for the specified organization.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"object","properties":{"executions":{"type":"integer","minimum":0},"operations":{"type":"integer","minimum":0},"centicredits":{"type":"string","description":"Bigint number as a string to avoid precision issues in JavaScript.","minimum":0},"errors":{"type":"integer","minimum":0},"errorRate":{"type":"number","description":"Percentage. Available only when it can be calculated."},"executionsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"operationsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"centicreditsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"errorsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"errorRateChange":{"type":"number","description":"Percentage. Available only when it can be calculated."}}},"analytics":{"type":"array","items":{"allOf":[{"type":"object","properties":{"executions":{"type":"integer","minimum":0},"operations":{"type":"integer","minimum":0},"centicredits":{"type":"string","description":"Bigint number as a string to avoid precision issues in JavaScript.","minimum":0},"errors":{"type":"integer","minimum":0},"errorRate":{"type":"number","description":"Percentage. Available only when it can be calculated."},"executionsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"operationsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"centicreditsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"errorsChange":{"type":"number","description":"Percentage. Available only when it can be calculated."},"errorRateChange":{"type":"number","description":"Percentage. Available only when it can be calculated."}}},{"type":"object","properties":{"imtId":{"type":"string"},"id":{"type":"number"},"name":{"type":"string"},"status":{"type":"string","enum":["active","invalid","inactive"]},"teamId":{"type":"number"},"teamName":{"type":"string"}}}]}},"pg":{"allOf":[{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}},{"type":"object","properties":{"totalCount":{"type":"integer","description":"The number of analytics entries for the given query."}}}]}}},"example":{"total":{"executions":1000,"operations":5000,"centicredits":"500000","errors":1,"errorRate":0.1,"executionsChange":0,"operationsChange":-10,"centicreditsChange":-1000,"errorsChange":100,"errorRateChange":100},"analytics":[{"imtId":"1632371803593_1234","id":1234,"name":"Scenario 1","status":"active","teamId":1,"teamName":"My Team","executions":10,"operations":60,"centicredits":"6000","errors":0,"errorRate":0,"executionsChange":0,"operationsChange":0,"centicreditsChange":0,"errorsChange":-100,"errorRateChange":-100}],"pg":{"sortBy":"operations","sortDir":"desc","offset":0,"limit":100,"returnTotalCount":true,"totalCount":60}}}}}}}},"/cashier/prices/{priceId}":{"get":{"tags":["Cashier"],"summary":"Get price detail","parameters":[{"name":"priceId","in":"path","required":true,"schema":{"type":"number"},"example":10}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"productId":{"type":"number"},"price":{"type":"number"},"currencyCode":{"type":"string"},"period":{"type":"string"},"priority":{"type":"number"},"visible":{"type":"boolean"},"default":{"type":"boolean"},"config":{"type":"object","properties":{"dslimit":{"type":"number"},"iolimit":{"type":"number"},"dsslimit":{"type":"number"},"transfer":{"type":"number"},"dlqStorage":{"type":"number"},"operations":{"type":"number"},"restartPeriod":{"type":"string"}}}}},"example":{"id":10,"productId":4,"price":"86.00","currencyCode":"USD","period":"month","priority":5,"visible":true,"default":false,"config":{"dslimit":12,"iolimit":2668,"dsslimit":41943040,"transfer":21474836480,"dlqStorage":41943040,"operations":40000,"restartPeriod":"1 month"}}}}}}}},"/cashier/vat-validation/patterns":{"get":{"tags":["Cashier"],"summary":"Get VAT ID format patterns","description":"Proxies imt-cashier's VAT-ID format patterns (EU + Northern Ireland). Each entry is keyed by ISO 3166-1 alpha-2 country code (Northern Ireland is keyed under `GB`, Greece under `GR`) and contains: `prefix` — the VAT-ID prefix used in the full ID (equals the ISO code except `GB` → `XI` and `GR` → `EL`); `regex` — an anchored (`^…$`) regex matching the **full** VAT ID including the optional prefix, safe to use directly via `new RegExp(regex)`; `description` — a human-readable format hint; and `example` — an example VAT ID suitable as a placeholder. Intended for client-side VAT ID format validation.\n","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"patterns":{"type":"object","additionalProperties":{"type":"object","properties":{"prefix":{"type":"string"},"regex":{"type":"string"},"description":{"type":"string"},"example":{"type":"string"}},"required":["prefix","regex","description","example"]}}}},"examples":{"default":{"summary":"VAT ID patterns","value":{"patterns":{"AT":{"prefix":"AT","regex":"^(?:AT)?U\\d{8}$","description":"ATU + 8 digits (e.g. ATU12345678)","example":"ATU12345678"},"DE":{"prefix":"DE","regex":"^(?:DE)?[1-9]\\d{8}$","description":"DE + 9 digits (e.g. DE123456789)","example":"DE123456789"},"GB":{"prefix":"XI","regex":"^(?:GB|XI)?(?:\\d{9}|\\d{12}|GD\\d{3}|HA\\d{3})$","description":"XI (Northern Ireland) or GB + 9 or 12 digits, or GD/HA + 3 digits (e.g. XI123456789)","example":"XI123456789"}}}}}}}}}}},"/connections":{"get":{"tags":["Connections"],"summary":"List connections","description":"Retrieves a collection of all connections for a team with a given ID. Returned connections are sorted by name in ascending order.","security":[{"token":["connections:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The unique ID of the team whose connections will be retrieved.","example":22},{"name":"type[]","in":"query","schema":{"type":"array","items":{"type":"string"}},"examples":{"id-name":{"value":"airtable2"}},"description":"Specifies the type of the connections to return details for. The connection type is defined in the `accountName` property and you can get it from the [Get connection details](./get--connections--connectionid.md) endpoint."},{"name":"<connectionType>[]","in":"query","schema":{"type":"array","items":{"type":"string"}},"examples":{"scoped-connection":{"value":["requestedScope","anotherRequestedScope"]}},"description":"Allows utilizing the scopes check. The particular connection type (`<connectionType>`) should be one of the types specified in the `type[]` parameter. The values are the scopes to check for the given connection type. You can send multiple `<connectionType>` values with corresponding arrays to check multiple connection types scopes at once. The result of the check is reflected in the `scoped` property of the returned connection object."},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","accountName","accountLabel","packageName","expire","metadata","teamId","theme","upgradeable","scopesCnt","scoped","accountType","editable","uid","connectedSystemId","organizationId"]}},"description":"Specifies the group of values to return. For example, you may want to check which returned connections can be upgraded.","examples":{"all-columns":{"summary":"Return all details","value":["id","name","accountName","accountLabel","packageName","expire","metadata","teamId","theme","upgradeable","scopesCnt","scoped","accountType","editable","uid","connectedSystemId","organizationId"]},"id-name":{"summary":"Return connection ID and name","value":["id","name","accountName"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accountName":{"type":"string"},"accountLabel":{"type":"string"},"packageName":{"type":"string"},"expire":{"type":"string","format":"date-time"},"metadata":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string","enum":["string","email"]}}},"teamId":{"type":"integer"},"theme":{"type":"string","format":"color"},"upgradeable":{"type":"boolean"},"scopesCnt":{"type":"integer"},"scoped":{"type":"boolean"},"accountType":{"type":"string"},"editable":{"type":"boolean"},"uid":{"type":"string"},"connectedSystemId":{"type":"string"},"organizationId":{"type":"integer"}}}}}},"examples":{"all-columns":{"summary":"Return all details","description":"Return all available information about user connections.","value":{"connections":[{"id":2,"name":"My Airtable connection","accountName":"airtable2","accountLabel":"Airtable","packageName":null,"expire":null,"metadata":null,"teamId":22,"theme":"#18bfff","upgradeable":false,"scopesCnt":0,"scoped":true,"accountType":"basic","editable":false,"uid":null,"connectedSystemId":"c5d8e134-d2f8-480d-9838-119a54f65d3e","organizationId":3},{"id":15,"name":"My Google connection","accountName":"google","accountLabel":"Google","packageName":null,"expire":null,"metadata":{"type":"email","value":"test@mydomain.com"},"teamId":22,"theme":"#fecd5f","upgradeable":false,"scopesCnt":4,"scoped":true,"accountType":"oauth","editable":false,"uid":225874569526501080000,"connectedSystemId":"4244156b-88cc-43cf-a5e9-e94bd0304745","organizationId":2343}]}},"id-name":{"summary":"Return ID, name, connection type","description":"Return ID and name of the user connections with the `airtable2` connection type.","value":{"connections":[{"id":2,"name":"My Airtable connection","accountName":"airtable2"}]}}}}}}}},"post":{"tags":["Connections"],"summary":"Create connection","description":"Creates a new connection with data passed in the request body. In the response, it returns all details of the created connection.","security":[{"token":["connections:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"accountName":{"type":"string","description":"The connection name. The name must be at most 128 characters long and does not need to be unique."},"accountType":{"type":"string","description":"The connection type corresponding to the connected app. For some connection types, this property may require providing additional properties in the request body,  such as `clientId` and `clientSecret`, in order to authorize the connection and make it functional."},"scopes":{"type":"array","description":"The connection scope determining the module use. The format and number of available scopes vary depending on the `accountType` parameter.","items":{"type":"string"}},"accountVisibility":{"type":"string","enum":["team","locked"],"default":"team","description":"Entity-tier visibility of the created connection. With `locked` the connection is restricted to its access list from the moment it is created, with the creator as its sole admin. Requires the *Locked connections* feature to be enabled for the organization; otherwise the request fails with `IM903` (HTTP 400). When the access list cannot be provisioned, the request fails with HTTP 422 and the connection is not created. Omitted or `team`, the connection is visible to the whole team."}},"additionalProperties":{}},"examples":{"team-visible":{"summary":"Team-visible connection (default)","value":{"accountName":"Slack Test","accountType":"slack","clientId":123456,"clientSecret":"secret","scopes":["chat:write"]}},"born-locked":{"summary":"Connection created locked","description":"Creates the connection with `accountVisibility: locked` — restricted to its access list, with the creator as its sole admin.","value":{"accountName":"Slack Test","accountType":"slack","clientId":123456,"clientSecret":"secret","scopes":["chat:write"],"accountVisibility":"locked"}}}}}},"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The unique ID of the team whose connections will be retrieved.","example":1}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accountName":{"type":"string"},"accountLabel":{"type":"string"},"packageName":{"type":"string"},"expire":{"type":"string","format":"date-time"},"metadata":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string","enum":["string","email"]}}},"teamId":{"type":"integer"},"theme":{"type":"string","format":"color"},"upgradeable":{"type":"boolean"},"scopesCnt":{"type":"integer"},"scoped":{"type":"boolean"},"accountType":{"type":"string"},"editable":{"type":"boolean"},"uid":{"type":"string"},"connectedSystemId":{"type":"string"},"organizationId":{"type":"integer"}}}}},"example":{"connection":{"id":90,"name":"Slack test","accountName":"slack","accountLabel":"Slack","packageName":null,"expire":null,"metadata":{"value":"Make User","type":"string"},"teamId":2,"theme":"#4a154b","upgradeable":false,"scopes":0,"scoped":true,"accountType":"oauth","editable":false,"uid":3243125312}}}}},"400":{"description":"The `accountVisibility` value is invalid (`IM005`), or `accountVisibility: locked` was sent while the *Locked connections* feature is not enabled for the organization (`IM903`, returned while the `web_api_locked_connections` feature flag is off).\n"},"422":{"description":"The access list of a `locked` connection could not be provisioned (`IM016`). The connection is not created — the request can be retried.\n"}}}},"/connections/{connectionId}/editable-data-schema":{"get":{"tags":["Connections"],"summary":"List updatable connection parameters","description":"Gets a list of connection parameters that can be updated. You can update a connection with the API call `POST /connections/{connectionId}/set-data`.\n\nIf the connection cannot be updated then the API call returns the error message \"Cannot edit this connection.\" When this happens, create a new connection instead.\n","security":[{"token":["connections:read"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"editableParameters":{"type":"array","items":{"type":"string"}}}},"examples":{"api-key-connection":{"summary":"API key connection","description":"List editable parameters of an API key connection. Each API key connection might have different editable parameters.","value":{"editableParameters":["url","apiKey"]}},"oauth-connection":{"summary":"OAuth connection","description":"List editable parameters of an OAuth2 connection. Each OAuth2 connection might have different editable parameters.","value":{"editableParameters":["clientId","clientSecret","cloudName","scopes"]}}}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to use it (`IM002`).\n"}}}},"/connections/{connectionId}/set-data":{"post":{"tags":["Connections"],"summary":"Update a connection","description":"Updates the specified connection with data in the request body. Check which data you need to send to update the connection with the API call `GET /connections/{connectionId}/editable-data-schema`. The data might be different for each app and connection type.\n\nThe new connection data replace the original connection data. Make sure to provide all relevant data. If a field is missing in the request body, Make replaces the field in the new connection with an empty value.\n\nFor OAuth connections, you need to log in to Make and confirm the changes with the **Reauthorize** button. For the rest of the connection types, Make starts using the new connection data immediately.\n\nIf the connection cannot be updated then the API call returns the error message \"Cannot edit this connection.\" When this happens, create a new connection instead.\n","security":[{"token":["connections:write"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"The request body has to contain the parameters listed in the response from the API call `GET /connections/{connectionId}/editable-data-schema` and the new values associated with them.\n","additionalProperties":{}},"examples":{"api-key-connection":{"summary":"Update API key connection","description":"Update an API key connection. Each API key connection might require different parameters.","value":{"url":"example.com","apiKey":"your-api-key"}},"oauth-connection":{"summary":"Update OAuth2 connection","description":"Update an OAuth2 connection. Each OAuth2 connection might require different parameters.","value":{"clientId":540937,"clientSecret":"my-password-1234","cloudName":"exampledomain","scopes":["entity.read","entity.write"]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"api-key-connection":{"value":{"changed":true}},"oauth-connection":{"value":{"changed":true}}}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to manage it (`IM002`).\n"}}}},"/connections/{connectionId}":{"get":{"tags":["Connections"],"summary":"Get connection details","description":"Retrieves details of a connection with a given ID.","security":[{"token":["connections:read"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","accountName","accountLabel","packageName","expire","metadata","teamId","theme","upgradeable","scopesCnt","scoped","accountType","editable","uid","scopes","connectedSystemId","organizationId"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the name and scope for a given connection."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"allOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accountName":{"type":"string"},"accountLabel":{"type":"string"},"packageName":{"type":"string"},"expire":{"type":"string","format":"date-time"},"metadata":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string","enum":["string","email"]}}},"teamId":{"type":"integer"},"theme":{"type":"string","format":"color"},"upgradeable":{"type":"boolean"},"scopesCnt":{"type":"integer"},"scoped":{"type":"boolean"},"accountType":{"type":"string"},"editable":{"type":"boolean"},"uid":{"type":"string"},"connectedSystemId":{"type":"string"},"organizationId":{"type":"integer"}}},{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"account":{"type":"string"}}}}}}]}}},"example":{"connection":{"id":93,"name":"Google","accountName":"google","accountLabel":"Google","packageName":null,"expire":null,"metadata":{"value":"tom@example.com","type":"email"},"teamId":4,"theme":"#fecd5f","upgradeable":false,"scopesCnt":5,"scoped":true,"accountType":"oauth","editable":false,"uid":123456,"scopes":[{"id":"https://www.googleapis.com/auth/userinfo.email","name":"View user's email address","account":"google"},{"id":"https://mail.google.com/","name":"Access to Gmail.","account":"google"},{"id":"openid","account":"google"},{"id":"https://www.googleapis.com/auth/spreadsheets","account":"google"},{"id":"https://www.googleapis.com/auth/drive","name":"Access to Google Drive.","account":"google"}],"connectedSystemId":"4244156b-88cc-43cf-a5e9-e94bd0304745","organizationId":3}}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to use it (`IM002`).\n"}}},"patch":{"tags":["Connections"],"summary":"Rename a connection","description":"Updates the specified connection's name. The response contains all information about the updated connection.","security":[{"token":["connections:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The updated connection name. The name must be at most 128 characters long and does not need to be unique."}},"additionalProperties":false},"example":{"name":"New name"}}}},"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","accountName","accountLabel","packageName","expire","metadata","teamId","theme","upgradeable","scopesCnt","scoped","accountType","editable","uid"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the expiration of the updated connection."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accountName":{"type":"string"},"accountLabel":{"type":"string"},"packageName":{"type":"string"},"expire":{"type":"string","format":"date-time"},"metadata":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string","enum":["string","email"]}}},"teamId":{"type":"integer"},"theme":{"type":"string","format":"color"},"upgradeable":{"type":"boolean"},"scopesCnt":{"type":"integer"},"scoped":{"type":"boolean"},"accountType":{"type":"string"},"editable":{"type":"boolean"},"uid":{"type":"string"},"connectedSystemId":{"type":"string"},"organizationId":{"type":"integer"}}}}},"example":{"connection":{"id":93,"name":"New Name","accountName":"imap","accountLabel":"Others (IMAP)","packageName":null,"expire":null,"metadata":{"value":"tom@example.com","type":"email"},"teamId":4,"theme":"#eb5768","upgradeable":false,"scopesCnt":0,"scoped":true,"accountType":"basic","editable":true,"uid":123456}}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to manage it (`IM002`).\n"}}},"delete":{"tags":["Connections"],"summary":"Delete connection","description":"Deletes a connection with a given ID and returns the ID in the response.","security":[{"token":["connections:write"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"Confirms the deletion if the connection is included in at least one scenario. Confirmation is required because the scenario will stop working without the connection. If the parameter is missing or it is set to `false` an error code is returned and the resource is not deleted.","example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"integer"}}},"example":{"connection":1}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to manage it (`IM002`). A team administrator may still delete such a connection only when nobody is left able to manage it.\n"}}}},"/connections/{connectionId}/test":{"post":{"tags":["Connections"],"summary":"Verify connection","description":"Verifies the connection status. This endpoint usually communicates with the API of the app that includes the given connection and verifies if credentials saved in Make are still valid. It returns the confirmation if the connection is verified (`true`) or not (`false`).","security":[{"token":["connections:write"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"verified":{"type":"boolean"}}},"example":{"verified":true}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to use it (`IM002`).\n"}}}},"/connections/{connectionId}/scoped":{"post":{"tags":["Connections"],"summary":"Verify if connection is scoped","description":"Verifies if a scope for a given connection is set. This endpoint returns the information if the connection is scoped (`true`) or not (`false`).","security":[{"token":["connections:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"array","description":"The array with IDs of the scopes for a given connection. The scope ID of a specific connection can be retrieved from the [Get connection details](./get--connections--connectionid.md) endpoint.","items":{"type":"string"},"required":["items"]}}},"example":{"scope":["https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/drive"]}}}},"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"object","properties":{"scoped":{"type":"boolean"}}}}},"example":{"connection":{"scoped":false}}}}},"403":{"description":"The connection is restricted to its access list and the caller is not on it with permission to use it (`IM002`).\n"}}}},"/connections/{connectionId}/make-locked":{"post":{"tags":["Connections"],"summary":"Lock connection","description":"Restricts the connection's visibility to its access list (`visibility: locked`). The caller becomes the sole admin\nof the locked connection.\n\nCaller rule: only the connection's author can lock it, and that author must still be a member of the\nconnection's team. A connection without an author cannot be locked.\n\nThe operation is idempotent — locking an already locked connection succeeds without any change; the caller\nrule above still applies.\n\nRequires the *Locked connections* feature to be enabled for the organization.\n","security":[{"token":["connections:write"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the connection."},"visibility":{"type":"string","enum":["locked"],"description":"The visibility of the connection after the flip."}}}}},"examples":{"locked":{"value":{"connection":{"id":15,"visibility":"locked"}}}}}}},"400":{"description":"The *Locked connections* feature is not enabled for the organization (`IM903`, returned while the `web_api_locked_connections` feature flag is off).\n"},"403":{"description":"The caller is not the connection's author (`IM002`).\n"},"404":{"description":"The connection does not exist (`IM304`)."},"409":{"description":"The connection has no author, or its author is no longer a member of the connection's team (`SC409`) — locking is reserved to an author who is still on the team. A departure clears a connection's author, so in practice this reports the missing author.\n"}}}},"/connections/{connectionId}/make-team":{"post":{"tags":["Connections"],"summary":"Make connection available to team","description":"Makes a locked connection visible to the whole team again (`visibility: team`) and clears the connection's\nentire access list. Only an admin of the locked connection can perform the flip. The connection's author\nis not changed.\n\nThe operation is idempotent — flipping an already team-visible connection succeeds, provided the caller has\nthe `account edit` permission; any residual entries on the connection's access list are still cleared.\n\nRequires the *Locked connections* feature to be enabled for the organization.\n","security":[{"token":["connections:write"]}],"parameters":[{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the connection."},"visibility":{"type":"string","enum":["team"],"description":"The visibility of the connection after the flip."}}}}},"examples":{"made-team":{"value":{"connection":{"id":15,"visibility":"team"}}}}}}},"400":{"description":"The *Locked connections* feature is not enabled for the organization (`IM903`, returned while the `web_api_locked_connections` feature flag is off).\n"},"403":{"description":"The caller is not an admin of the locked connection (`IM002`)."},"404":{"description":"The connection does not exist (`IM304`)."}}}},"/credential-requests/requests":{"post":{"tags":["Credential Requests"],"summary":"Create new Credential Request - deprecated","deprecated":true,"description":"Creates a new request for Credentials. Supports two flows: 1) Flow for new Make users, 2) Flow for existing Make users.","security":[{"token":["credential-requests:write"]}],"requestBody":{"required":true,"description":"Request body for creating a new Credential Request. Supports two provider flows - inviting a new user or referencing an existing Make user.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Request body for creating a new Credential Request. Supports two provider flows - inviting a new user or referencing an existing Make user.","required":["name","teamId","provider"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the Request which will be displayed to the End Users who open it."},"teamId":{"type":"number","description":"ID of the Team the Credential Request should be bound to."},"description":{"type":"string","maxLength":512,"description":"Description of the Request which will be displayed to the End Users who open it."},"connections":{"type":"array","maxItems":32,"description":"Array of connections to include in the request.","items":{"type":"object","additionalProperties":false,"required":["type","appName","appModules","appVersion"],"properties":{"type":{"type":"string","maxLength":64,"description":"Type of the Connection to be included in the Request."},"label":{"type":"string","maxLength":128,"description":"Label of the Connection to be used instead of the default generated one."},"description":{"type":"string","maxLength":512,"description":"Description of the particular Connection to be displayed in the Request view."},"scope":{"type":"array","items":{"type":"string","maxLength":128},"description":"Array of Scopes that the Connection should ask for."},"nameOverride":{"type":"string","maxLength":255,"minLength":1,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}}},"keys":{"type":"array","maxItems":32,"description":"Array of keys to include in the request.","items":{"type":"object","additionalProperties":false,"required":["type","appName","appModules","appVersion"],"properties":{"type":{"type":"string","maxLength":64,"description":"Type of the Key to be included in the Request."},"label":{"type":"string","maxLength":128,"description":"Label of the Key to be used instead of the default generated one."},"description":{"type":"string","maxLength":512,"description":"Description of the particular Key to be displayed in the Request view."},"nameOverride":{"type":"string","maxLength":255,"minLength":1,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}}},"provider":{"description":"Provider information. Either an existing Make user ID or a new user to invite (name & email).","oneOf":[{"type":"object","additionalProperties":false,"required":["providerMakeUserId"],"description":"Existing Make user as provider. The user will be added to the team if not already a member.","properties":{"providerMakeUserId":{"type":"number","description":"ID of the Provider's Make User. The user will be added to the team that owns the credential request."}}},{"type":"object","required":["newUser"],"description":"New user to invite to the organization and add to the team.","properties":{"newUser":{"type":"object","additionalProperties":false,"description":"New user to invite to the organization and add to the team.","required":["name","email"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the new user to invite."},"email":{"type":"string","maxLength":256,"description":"Email address of the new user to invite."}}}}}]}}},"example":{"teamId":123,"keys":[{"type":"apikeyauth","appModules":["MakeRequest:authenticationType:apiKey"],"appName":"http","appVersion":"4","description":"My custom note"},{"type":"basicauth","appModules":["MakeRequest:authenticationType:basicAuth"],"appName":"http","appVersion":"4","description":"My custom note"}],"connections":[{"type":"google","appModules":["addRow","deleteRow"],"scope":["https://www.googleapis.com/auth/drive","https://www.googleapis.com/auth/spreadsheets"],"appName":"google-sheets","appVersion":"2","description":"My custom note"}],"name":"HTTP API Key and Basic Auth credentials","description":"The request will ask for http auth keys and a Google Sheets connection","provider":{"providerMakeUserId":123}}}}},"responses":{"200":{"description":"Credential Request has been created successfully.","content":{"application/json":{"schema":{"type":"object","required":["request","publicUri"],"properties":{"request":{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},"publicUri":{"type":"string","format":"uri","description":"Public URI where the provider can access the credential request."}}},"example":{"request":{"id":"5964de38-0c19-4e65-afbf-d7182c9c5bb0","organizationId":789,"teamId":123,"userId":456,"name":"HTTP API Key and Basic Auth credentials","description":"The request will ask for http auth keys and a Google Sheets connection","externalProviderId":null,"makeProviderId":123,"createdAt":"2026-02-24T10:00:00Z","updatedAt":"2026-02-24T10:00:00Z","expiresAt":"2026-03-24T10:00:00Z","status":"pending","shouldSendEmail":true,"emailSentAt":null},"publicUri":"https://eu1.make.com/credence/123/5964de38-0c19-4e65-afbf-d7182c9c5bb0"}}}}}},"get":{"tags":["Credential Requests"],"summary":"List Credential Requests","description":"Retrieves a list of Credential Requests.","security":[{"token":["credential-requests:read"]}],"parameters":[{"name":"teamId","in":"query","required":true,"description":"Team ID to filter credential requests.","schema":{"type":"integer"}},{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","organizationId","teamId","name","description","externalProviderId","createdAt","updatedAt","expiresAt","status","shouldSendEmail","emailSentAt","appNames","makeProvider","userId","makeProviderId"]}}},{"name":"userId","in":"query","required":false,"description":"User ID to filter credential requests.","schema":{"type":"number"}},{"name":"makeProviderId","in":"query","required":false,"description":"Make Provider ID to filter credential requests.","schema":{"type":"number"}},{"name":"status","in":"query","required":false,"description":"Status to filter credential requests.","schema":{"type":"string","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]}},{"name":"name","in":"query","required":false,"description":"Name to filter credential requests.","schema":{"type":"string","minLength":0,"maxLength":255}}],"responses":{"200":{"description":"List of Credential Requests.","content":{"application/json":{"schema":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","description":"A credential request list item with optional provider information.","allOf":[{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},{"type":"object","properties":{"appNames":{"type":"array","items":{"type":"string"},"description":"Names of apps associated with this request."},"makeProvider":{"type":"object","nullable":true,"description":"Make provider information.","properties":{"id":{"type":"integer","description":"Provider user ID."},"email":{"type":"string","description":"Provider email address."},"name":{"type":"string","description":"Provider name."}}}}}]}}}},"example":{"requests":[{"id":"550e8400-e29b-41d4-a716-446655440000","organizationId":1,"teamId":123,"name":"Google Workspace Access","description":"Request access to Google Workspace APIs","externalProviderId":null,"createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T10:00:00Z","expiresAt":"2026-01-12T10:00:00Z","status":"pending","shouldSendEmail":true,"emailSentAt":null,"appNames":["google"],"makeProvider":{"id":456,"email":"provider@example.com","name":"John Doe"}}]}}}}}}},"/credential-requests/requests/v2":{"post":{"tags":["Credential Requests"],"summary":"Create new Credential Request (V2)","description":"Creates a new request for Credentials using app and module selections.\nCredentials (connections/keys) are automatically derived from the selected modules using the modules-with-credentials API.\n\nSupports two provider flows:\n1. **Existing Make user** - Reference an existing Make user by their ID. The user will be added to the team if not already a member.\n2. **New user invitation** - Invite a new user by providing their name and email.\n","security":[{"token":["credential-requests:write"]}],"requestBody":{"required":true,"description":"V2 Request body for creating a Credential Request. Credentials are derived from app and module selections.","content":{"application/json":{"schema":{"type":"object","description":"V2 Request body for creating a Credential Request. Credentials are derived from app and module selections.","additionalProperties":false,"required":["name","teamId","credentials","provider"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the Request which will be displayed to the End Users who open it."},"teamId":{"type":"integer","minimum":1,"description":"ID of the Team the Credential Request should be bound to."},"description":{"type":"string","maxLength":512,"description":"Description of the Request which will be displayed to the End Users who open it."},"credentials":{"type":"array","minItems":1,"maxItems":64,"description":"Array of app/module selections to derive credentials from.","items":{"type":"object","description":"App and module selection for credential derivation.","additionalProperties":false,"required":["appName","appModules"],"properties":{"appName":{"type":"string","maxLength":255,"description":"Name of the application to request credentials for."},"appModules":{"type":"array","minItems":1,"description":"Array of module IDs to include. Use [\"*\"] to select all modules with credentials.","items":{"type":"string","maxLength":255,"description":"Module ID within the application. Use \"*\" to select all modules."}},"appVersion":{"type":"integer","minimum":0,"description":"Version of the application. If not provided, it defaults to the latest available version."},"nameOverride":{"type":"string","minLength":1,"maxLength":255,"description":"An optional name to use for the credential when created in the platform, overriding the default generated name."},"description":{"type":"string","maxLength":512,"description":"Description for this credential to be displayed in the Request view."}}}},"provider":{"description":"Provider information. Either an existing Make user ID or a new user to invite (name & email).","oneOf":[{"type":"object","additionalProperties":false,"required":["providerMakeUserId"],"description":"Existing Make user as provider. The user will be added to the team if not already a member.","properties":{"providerMakeUserId":{"type":"number","description":"ID of the Provider's Make User. The user will be added to the team that owns the credential request."}}},{"type":"object","required":["newUser"],"description":"New user to invite to the organization and add to the team.","properties":{"newUser":{"type":"object","additionalProperties":false,"description":"New user to invite to the organization and add to the team.","required":["name","email"],"properties":{"name":{"type":"string","maxLength":255,"description":"Name of the new user to invite."},"email":{"type":"string","maxLength":256,"description":"Email address of the new user to invite."}}}}}]}}},"example":{"teamId":123,"name":"Slack and Google Sheets Integration","description":"Please authorize Slack and Google Sheets access","credentials":[{"appName":"slack","appModules":["SendMessage","WatchMessages"],"appVersion":2},{"appName":"google-sheets","appModules":["*"]}],"provider":{"providerMakeUserId":456}}}}},"responses":{"200":{"description":"Credential Request has been created successfully.","content":{"application/json":{"schema":{"type":"object","description":"Response for V2 Credential Request creation.","required":["request","publicUri"],"properties":{"request":{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},"publicUri":{"type":"string","format":"uri","description":"Public URI for accessing the credential request."}}},"example":{"request":{"id":"7a9b8c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d","organizationId":789,"teamId":123,"userId":456,"name":"HTTP API Key and Basic Auth credentials","description":"The request will ask for http auth keys and a Google Sheets connection","externalProviderId":null,"makeProviderId":123,"createdAt":"2026-02-24T10:00:00Z","updatedAt":"2026-02-24T10:00:00Z","expiresAt":"2026-03-24T10:00:00Z","status":"pending","shouldSendEmail":true,"emailSentAt":null},"publicUri":"https://eu1.make.com/credence/123/7a9b8c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d"}}}}}}},"/credential-requests/requests/{requestId}":{"get":{"tags":["Credential Requests"],"summary":"Get Credential Request","description":"Retrieves a single Credential Request.","security":[{"token":["credential-requests:read"]}],"parameters":[{"name":"requestId","in":"path","required":true,"description":"ID of the Credential Request.","schema":{"type":"string","format":"uuid"}},{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","organizationId","teamId","name","description","externalProviderId","createdAt","updatedAt","expiresAt","status","shouldSendEmail","emailSentAt","appNames","makeProvider","userId","makeProviderId"]}}}],"responses":{"200":{"description":"Credential Request.","content":{"application/json":{"schema":{"type":"object","properties":{"request":{"type":"object","description":"A credential request with detailed provider information.","allOf":[{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},{"type":"object","properties":{"makeProvider":{"type":"object","nullable":true,"description":"Make provider information.","properties":{"id":{"type":"integer"},"email":{"type":"string"},"name":{"type":"string"}}}}}]}}},"example":{"request":{"id":"550e8400-e29b-41d4-a716-446655440000","organizationId":1,"teamId":123,"userId":789,"name":"Google Workspace Access","description":"Request access to Google Workspace APIs for automation","externalProviderId":null,"makeProviderId":"456","createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T10:00:00Z","expiresAt":"2026-01-12T10:00:00Z","status":"pending","shouldSendEmail":true,"emailSentAt":null,"makeProvider":{"id":456,"email":"provider@example.com","name":"John Doe"}}}}}}}},"delete":{"tags":["Credential Requests"],"summary":"Delete Credential Request","description":"Deletes the given Credential Request.","security":[{"token":["credential-requests:write"]}],"parameters":[{"name":"requestId","in":"path","required":true,"description":"ID of the Credential Request.","schema":{"type":"string","format":"uuid"}},{"name":"confirmed","in":"query","required":false,"description":"When true, also deletes credentials (connections and keys) associated with the credential request. When false or omitted the API will return an error if there are any associated credentials, preventing accidental deletion of credentials.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Credential Request has been deleted successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Indicates if the request was deleted."}}},"example":{"deleted":true}}}}}}},"/credential-requests/requests/{requestId}/detail":{"get":{"tags":["Credential Requests"],"summary":"Get Credential Request Detail","description":"Retrieves detail of a single Credential Request with associated credentials.\nThis endpoint has been enhanced to include all credentials associated with the request in a single response,\neliminating the need for additional API calls.\n","security":[{"token":["credential-requests:read"]}],"parameters":[{"name":"requestId","in":"path","required":true,"description":"ID of the Credential Request.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Detail of the Credential Request with associated credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"requestDetail":{"type":"object","description":"Detailed credential request including associated credentials, provider, and requester information.","allOf":[{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},{"type":"object","properties":{"makeProvider":{"type":"object","nullable":true,"description":"Make provider information.","properties":{"id":{"type":"integer","description":"Provider user ID."},"email":{"type":"string","description":"Provider email address."},"name":{"type":"string","description":"Provider name."}}},"user":{"type":"object","description":"User who created the request.","properties":{"id":{"type":"integer","description":"User ID."},"email":{"type":"string","description":"User email address."},"name":{"type":"string","description":"User name."}}},"credentials":{"type":"array","description":"List of credentials associated with this request.","items":{"type":"object","description":"A credential object (connection or key).","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential."},"requestId":{"type":"string","format":"uuid","description":"ID of the parent credential request."},"component":{"type":"string","description":"Component type of the credential.","enum":["account","keychain"]},"type":{"type":"string","description":"Type of the credential.","enum":["oauth","basic","key"]},"name":{"type":"string","description":"Internal name of the credential."},"label":{"type":"string","description":"Display label for the credential."},"description":{"type":"string","description":"Description of the credential."},"scope":{"type":"array","items":{"type":"string"},"description":"Requested scopes for the credential."},"remoteId":{"type":"string","description":"Remote identifier after creation."},"remoteScope":{"type":"array","items":{"type":"string"},"description":"Scopes granted by the remote service."},"tokenId":{"type":"string","format":"uuid","description":"Associated token ID."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was last updated."},"state":{"type":"string","description":"State of an individual credential.","enum":["authorized","declined","incomplete","invalid","pending","reauthorizing"]},"declineReason":{"type":"string","description":"Reason for declining the credential."},"appName":{"type":"string","description":"Name of the application associated with this credential."},"appModules":{"type":"array","items":{"type":"string"},"description":"Modules within the application that use this credential."},"appVersion":{"type":"string","description":"Version of the application."},"nameOverride":{"type":"string","description":"Custom name override for the credential."}}}}}}]}}},"example":{"requestDetail":{"id":"550e8400-e29b-41d4-a716-446655440000","organizationId":1,"teamId":123,"name":"Google Workspace Access","description":"Request access to Google Workspace APIs for automation","externalProviderId":null,"createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T10:00:00Z","expiresAt":"2026-01-12T10:00:00Z","status":"partially_authorized","shouldSendEmail":true,"emailSentAt":"2025-12-12T10:05:00Z","makeProvider":{"id":456,"email":"provider@example.com","name":"John Doe"},"user":{"id":789,"email":"requester@example.com","name":"Jane Smith"},"credentials":[{"id":"660e8400-e29b-41d4-a716-446655440001","requestId":"550e8400-e29b-41d4-a716-446655440000","component":"account","type":"oauth","name":"google","label":"Google Drive Connection","description":"Access to Google Drive for file automation","scope":["drive.readonly","drive.file"],"remoteId":"12345","remoteScope":["drive.readonly","drive.file"],"tokenId":"770e8400-e29b-41d4-a716-446655440002","createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T10:30:00Z","state":"authorized","declineReason":null,"appName":"google","appModules":["Google Drive"],"appVersion":"1.0.0"},{"id":"660e8400-e29b-41d4-a716-446655440002","requestId":"550e8400-e29b-41d4-a716-446655440000","component":"account","type":"oauth","name":"google-calendar","label":"Google Calendar Connection","description":"Access to Google Calendar for scheduling","scope":["calendar.readonly"],"remoteId":null,"remoteScope":[],"tokenId":null,"createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T10:15:00Z","state":"pending","declineReason":null,"appName":"google-calendar","appModules":["Google Calendar"],"appVersion":"1.0.0"}]}}}}}}}},"/credential-requests/credentials/{credentialId}/decline":{"post":{"tags":["Credential Requests"],"summary":"Decline Credential","description":"Declines a credential by setting its state to declined and recording the reason. This endpoint is idempotent and can be used to update the decline reason of an already declined credential.","security":[{"token":["credential-requests:write"]}],"parameters":[{"name":"credentialId","in":"path","required":true,"description":"ID of the Credential.","schema":{"type":"string","format":"uuid"}},{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","requestId","component","type","name","label","description","scope","remoteId","remoteScope","tokenId","createdAt","updatedAt","state","declineReason","appName","appModules","appVersion"]}}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":2048,"description":"The reason why the credential was declined. This will be visible to support teams and helps with troubleshooting."}}},"example":{"reason":"Unable to authorize - account does not have required permissions"}}}},"responses":{"200":{"description":"Credential has been declined successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"credential":{"type":"object","description":"A credential object (connection or key).","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential."},"requestId":{"type":"string","format":"uuid","description":"ID of the parent credential request."},"component":{"type":"string","description":"Component type of the credential.","enum":["account","keychain"]},"type":{"type":"string","description":"Type of the credential.","enum":["oauth","basic","key"]},"name":{"type":"string","description":"Internal name of the credential."},"label":{"type":"string","description":"Display label for the credential."},"description":{"type":"string","description":"Description of the credential."},"scope":{"type":"array","items":{"type":"string"},"description":"Requested scopes for the credential."},"remoteId":{"type":"string","description":"Remote identifier after creation."},"remoteScope":{"type":"array","items":{"type":"string"},"description":"Scopes granted by the remote service."},"tokenId":{"type":"string","format":"uuid","description":"Associated token ID."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was last updated."},"state":{"type":"string","description":"State of an individual credential.","enum":["authorized","declined","incomplete","invalid","pending","reauthorizing"]},"declineReason":{"type":"string","description":"Reason for declining the credential."},"appName":{"type":"string","description":"Name of the application associated with this credential."},"appModules":{"type":"array","items":{"type":"string"},"description":"Modules within the application that use this credential."},"appVersion":{"type":"string","description":"Version of the application."},"nameOverride":{"type":"string","description":"Custom name override for the credential."}}}}},"example":{"credential":{"id":"660e8400-e29b-41d4-a716-446655440001","requestId":"550e8400-e29b-41d4-a716-446655440000","component":"account","type":"oauth","name":"google","label":"Google Drive Connection","description":"Access to Google Drive for file automation","scope":["drive.readonly","drive.file"],"remoteId":null,"remoteScope":[],"tokenId":null,"createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T11:00:00Z","state":"declined","declineReason":"Unable to authorize - account does not have required permissions","appName":"google","appModules":[],"appVersion":"1.0.0"}}}}}}}},"/credential-requests/credentials/{credentialId}/delete-remote":{"post":{"tags":["Credential Requests"],"summary":"Delete Remote Credential","description":"Deletes a credential from the remote platform (Make Web API) and resets its state to pending. The credential can then be re-created through the normal creation flow.","security":[{"token":["credential-requests:write"]}],"parameters":[{"name":"credentialId","in":"path","required":true,"description":"ID of the Credential.","schema":{"type":"string","format":"uuid"}},{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","requestId","component","type","name","label","description","scope","remoteId","remoteScope","tokenId","createdAt","updatedAt","state","declineReason","appName","appModules","appVersion"]}}}],"responses":{"200":{"description":"Credential has been deleted from remote and reset to pending.","content":{"application/json":{"schema":{"type":"object","properties":{"credential":{"type":"object","description":"A credential object (connection or key).","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential."},"requestId":{"type":"string","format":"uuid","description":"ID of the parent credential request."},"component":{"type":"string","description":"Component type of the credential.","enum":["account","keychain"]},"type":{"type":"string","description":"Type of the credential.","enum":["oauth","basic","key"]},"name":{"type":"string","description":"Internal name of the credential."},"label":{"type":"string","description":"Display label for the credential."},"description":{"type":"string","description":"Description of the credential."},"scope":{"type":"array","items":{"type":"string"},"description":"Requested scopes for the credential."},"remoteId":{"type":"string","description":"Remote identifier after creation."},"remoteScope":{"type":"array","items":{"type":"string"},"description":"Scopes granted by the remote service."},"tokenId":{"type":"string","format":"uuid","description":"Associated token ID."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was last updated."},"state":{"type":"string","description":"State of an individual credential.","enum":["authorized","declined","incomplete","invalid","pending","reauthorizing"]},"declineReason":{"type":"string","description":"Reason for declining the credential."},"appName":{"type":"string","description":"Name of the application associated with this credential."},"appModules":{"type":"array","items":{"type":"string"},"description":"Modules within the application that use this credential."},"appVersion":{"type":"string","description":"Version of the application."},"nameOverride":{"type":"string","description":"Custom name override for the credential."}}}}},"example":{"credential":{"id":"660e8400-e29b-41d4-a716-446655440001","requestId":"550e8400-e29b-41d4-a716-446655440000","component":"account","type":"oauth","name":"google","label":"Google Drive Connection","description":"Access to Google Drive for file automation","scope":["drive.readonly","drive.file"],"remoteId":null,"remoteScope":[],"tokenId":null,"createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T12:00:00Z","state":"pending","declineReason":null,"appName":"google","appModules":[],"appVersion":"1.0.0"}}}}}}}},"/credential-requests/credentials/{credentialId}/request-reauthorize":{"post":{"tags":["Credential Requests"],"summary":"Request Credential Reauthorization","description":"Tests the OAuth connection and transitions to reauthorizing state if invalid. Returns an error if the connection is still valid.","security":[{"token":["credential-requests:write"]}],"parameters":[{"name":"credentialId","in":"path","required":true,"description":"ID of the Credential.","schema":{"type":"string","format":"uuid"}},{"name":"cols","in":"query","required":false,"description":"Not all properties of the Entity may be returned by default, for example because of their size. Using the Column Filter parameter, you can ask the Server to provide additional properties when needed.","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["id","requestId","component","type","name","label","description","scope","remoteId","remoteScope","tokenId","createdAt","updatedAt","state","declineReason","appName","appModules","appVersion"]}}}],"responses":{"200":{"description":"Credential transitioned to reauthorizing state.","content":{"application/json":{"schema":{"type":"object","properties":{"credential":{"type":"object","description":"A credential object (connection or key).","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential."},"requestId":{"type":"string","format":"uuid","description":"ID of the parent credential request."},"component":{"type":"string","description":"Component type of the credential.","enum":["account","keychain"]},"type":{"type":"string","description":"Type of the credential.","enum":["oauth","basic","key"]},"name":{"type":"string","description":"Internal name of the credential."},"label":{"type":"string","description":"Display label for the credential."},"description":{"type":"string","description":"Description of the credential."},"scope":{"type":"array","items":{"type":"string"},"description":"Requested scopes for the credential."},"remoteId":{"type":"string","description":"Remote identifier after creation."},"remoteScope":{"type":"array","items":{"type":"string"},"description":"Scopes granted by the remote service."},"tokenId":{"type":"string","format":"uuid","description":"Associated token ID."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the credential was last updated."},"state":{"type":"string","description":"State of an individual credential.","enum":["authorized","declined","incomplete","invalid","pending","reauthorizing"]},"declineReason":{"type":"string","description":"Reason for declining the credential."},"appName":{"type":"string","description":"Name of the application associated with this credential."},"appModules":{"type":"array","items":{"type":"string"},"description":"Modules within the application that use this credential."},"appVersion":{"type":"string","description":"Version of the application."},"nameOverride":{"type":"string","description":"Custom name override for the credential."}}}}},"example":{"credential":{"id":"550e8400-e29b-41d4-a716-446655440000","requestId":"660e8400-e29b-41d4-a716-446655440001","component":"account","type":"oauth","name":"google-oauth","label":"Google OAuth","description":"OAuth connection for Google services","scope":["https://www.googleapis.com/auth/spreadsheets"],"remoteId":"12345","remoteScope":["https://www.googleapis.com/auth/spreadsheets"],"tokenId":"f9e8d7c6-b5a4-3210-fedc-ba9876543210","createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T12:00:00Z","state":"reauthorizing","declineReason":null,"appName":"google-sheets","appModules":["addRow","deleteRow"],"appVersion":"2"}}}}}}}},"/credential-requests/actions/create":{"post":{"tags":["Credential Requests"],"summary":"Create Action","description":"Creates a new Action for a Credential Creation. Either 'connection' or 'key' must be provided in the request body, but not both.","security":[{"token":["credential-requests:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Request body for creating a new action for credential creation.","properties":{"name":{"type":"string","maxLength":255,"description":"Name of the Request which will be displayed to the End Users who open it."},"description":{"type":"string","maxLength":512,"description":"Description of the Request which will be displayed to the End Users who open it."},"connection":{"type":"object","required":["teamId","accountName"],"description":"Connection creation parameters for action.","properties":{"teamId":{"type":"integer","minimum":1,"description":"ID of the Team to which the Connection will belong."},"accountName":{"type":"string","minLength":1,"description":"Name of the Connection account type to be created via the Action."},"name":{"type":"string","minLength":1,"description":"Human-readable name for the Connection to be created via the Action."},"scopes":{"type":"array","minItems":1,"items":{"type":"string","maxLength":128},"description":"Array of Scopes to be added."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}},"key":{"type":"object","required":["teamId","type"],"description":"Key creation parameters for action.","properties":{"teamId":{"type":"integer","minimum":1,"description":"ID of the Team to which the Key will belong."},"type":{"type":"string","minLength":1,"description":"Type identifier for the Key to be created via the Action."},"name":{"type":"string","minLength":1,"description":"Human-readable name for the Key to be created via the Action."},"appName":{"type":"string","maxLength":255,"description":"Name of the application that this credential is associated with."},"appModules":{"type":"array","items":{"type":"string","maxLength":255},"description":"Array of modules/components within the application that will use this credential."},"appVersion":{"type":"string","maxLength":64,"description":"Version of the application at the time the credential was created."}}}}},"examples":{"connection":{"summary":"Create connection action","description":"Example of creating an action for a new connection","value":{"name":"Google Drive Access","description":"Action to create Google Drive connection","connection":{"teamId":123,"accountName":"google","name":"My Google Drive","scopes":["drive.readonly","drive.file","apps.read"],"appName":"google","appModules":["Google Drive"],"appVersion":"1.0.0"}}},"key":{"summary":"Create key action","description":"Example of creating an action for a new key","value":{"name":"API Key Access","description":"Action to create API key","key":{"teamId":456,"type":"api_key","name":"Production API Key","appName":"custom-app","appModules":["REST API"],"appVersion":"2.0.0"}}}}}}},"responses":{"200":{"description":"Credential Request to be used for completing the Action.","content":{"application/json":{"schema":{"type":"object","required":["request","publicUri"],"properties":{"request":{"type":"object","description":"A credential request object.","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the credential request."},"organizationId":{"type":"integer","description":"ID of the organization the request belongs to."},"teamId":{"type":"integer","description":"ID of the team the request belongs to."},"userId":{"type":"integer","description":"ID of the user who created the request."},"name":{"type":"string","description":"Name of the credential request."},"description":{"type":"string","description":"Description of the credential request."},"externalProviderId":{"type":"number","nullable":true,"description":"External provider identifier."},"makeProviderId":{"type":"number","nullable":true,"description":"Make provider identifier."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the request was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the request was last updated."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the request expires."},"status":{"type":"string","description":"Status of the credential request.","enum":["authorized","declined","incomplete","invalid","partially_authorized","pending"]},"shouldSendEmail":{"type":"boolean","description":"Whether an email should be sent for this request."},"emailSentAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent."}}},"publicUri":{"type":"string","format":"uri","description":"Public URI for completing the action."}}},"example":{"request":{"id":"550e8400-e29b-41d4-a716-446655440000","organizationId":1,"teamId":123,"userId":789,"name":"Google Drive Access","description":"Action to create Google Drive connection","externalProviderId":null,"makeProviderId":null,"createdAt":"2025-12-12T10:00:00Z","updatedAt":"2025-12-12T10:00:00Z","expiresAt":"2026-01-12T10:00:00Z","status":"pending","shouldSendEmail":false,"emailSentAt":null},"publicUri":"https://www.make.com/credential-requests/action/550e8400-e29b-41d4-a716-446655440000"}}}}}}},"/credential-requests/apps/{name}/{version}/modules-with-credentials":{"get":{"tags":["Credential Requests"],"summary":"List App Modules with Credentials","description":"Retrieves all modules with credential requirements for a specific app and version.\n\nFor each module, this endpoint returns:\n- Module identification (`id`, `name`, `label`)\n- Required credential type (e.g., `account:slack2`)\n- OAuth scopes required by the module\n- Whether the module is a hook-based trigger\n\n**Custom/SDK Apps**: To query custom (SDK) apps, prefix the app name with `app#` (URL-encoded as `app%23`).\nFor example: `/credential-requests/apps/app%23my-custom-app/1/modules-with-credentials`\n","security":[{"token":["apps:read"]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","pattern":"^(app#)?[a-z][0-9a-z-]+[0-9a-z]$","minLength":3,"maxLength":135},"description":"The name of the app. Must start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and end with a letter or number. Minimum 3 characters (e.g., `a-b`, `abc`).\n\nFor SDK/custom apps, use the `app#` prefix (URL-encoded as `app%23`).\n","example":"slack"},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"integer","minimum":1},{"type":"string","enum":["latest"]}]},"description":"The major version of the app. Use a specific version number (e.g., `1`, `2`, `4`) or `latest` to get the most recent version.\n","example":4}],"responses":{"200":{"description":"Successful response with list of app modules and their credential requirements.","headers":{"x-imt-package-name":{"schema":{"type":"string"},"description":"The name of the app package.","example":"slack"},"x-imt-package-version":{"schema":{"type":"string"},"description":"The full version string of the app package.","example":"4.0.0"}},"content":{"application/json":{"schema":{"type":"object","properties":{"appModules":{"type":"array","description":"List of modules with their credential requirements.","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the module credential configuration.\nFor modules with a single credential, this matches the module name.\nFor modules with multiple credentials, includes additional context (e.g., `moduleName:paramName`).\n"},"name":{"type":"string","description":"The technical name of the module."},"label":{"type":"string","description":"Human-readable display name of the module."},"type":{"type":"string","description":"The credential type required by the module.\nFormat is typically `account:<app-name>` or `keychain:<app-name>`.\nMultiple types may be comma-separated (e.g., `account:slack2,slack3`).\n"},"scope":{"type":"array","description":"List of OAuth scopes required by this module.","items":{"type":"string"}},"hook":{"type":"boolean","description":"Indicates whether this module is a hook-based trigger."}}}}}},"examples":{"slack-modules":{"summary":"Slack app modules","description":"Example response for Slack app version 4","value":{"appModules":[{"id":"CreateMessage","name":"CreateMessage","label":"Send a Message","type":"account:slack2,slack3","scope":["chat:write","chat:write.public","chat:write.customize","channels:read","groups:read","im:read","mpim:read","users:read"],"hook":false},{"id":"WatchMessages","name":"WatchMessages","label":"Watch Public Channel Messages","type":"account:slack2","scope":["channels:history","channels:read"],"hook":false},{"id":"watchInteractivityEvents","name":"watchInteractivityEvents","label":"Watch Interactive Events","type":"account:slack2,slack3","scope":[],"hook":true}]}}}}}},"404":{"description":"App or package not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code."},"message":{"type":"string","description":"Error message."}}},"example":{"code":"SC404","message":"Package not found."}}}}}}},"/custom-property-structures":{"get":{"tags":["Custom properties"],"summary":"List custom property structures","description":"Gets a list of custom properties structures in the organization.","security":[{"token":["custom-property-structures:read"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":57}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"belongers":{"type":"array","items":{"type":"object","properties":{"belongerId":{"type":"integer"},"belongerType":{"type":"string"},"associatedTypes":{"type":"array","items":{"type":"string"}}}}}}}}}},"example":{"customPropertyStructures":[{"id":2,"created":"2023-06-27T22:00:00.000Z","belongers":[{"belongerId":57,"belongerType":"organization","associatedTypes":["scenario"]}]}]}}}}}},"post":{"tags":["Custom properties"],"summary":"Create a custom property structure","description":"Creates a custom properties structure. You can have only one custom properties structure for each combination of `associatedType`, `belongerType`and `belongerId` values.\n\nFor example, you can create only one custom properties structure for scenarios in a specific organization.\n\nTo create a structure for custom scenario properties, fill in the request body:\n\n- `associatedType`: `scenario`\n- `belongerType`: `organization`\n\nCheck out the example API call.\n\nTo define the custom properties structure items, use the API call [to create custom properties structure item](./structure-items/post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n","security":[{"token":["custom-property-structures:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"associatedType":{"description":"The type of the entity which uses the custom properties structure. Fill in `scenario` to create custom scenario properties structure.","type":"string"},"belongerType":{"description":"The type of the entity that owns the custom properties structure. Fill in `organization` to create custom scenario properties structure.","type":"string"},"belongerId":{"description":"The ID of the entity that owns the custom properties structure.","type":"integer"}},"required":["associatedType","belongerType","belongerId"]},"example":{"associatedType":"scenario","belongerType":"organization","belongerId":57}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructure":{"type":"object","properties":{"id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"belongers":{"type":"array","items":{"type":"object","properties":{"belongerId":{"type":"integer"},"belongerType":{"type":"string"},"associatedTypes":{"type":"array","items":{"type":"string"}}}}}}}}},"example":{"customPropertyStructure":{"id":2,"belongers":[{"belongerId":57,"belongerType":"organization","associatedTypes":["scenario"]}],"created":"2023-06-27T22:00:00.000Z"}}}}}}}},"/custom-property-structures/{customPropertyStructureId}/custom-property-structure-items":{"get":{"tags":["Custom properties / Structure items"],"summary":"List custom property structure items","description":"Gets the list of structure items in the specified custom properties structure.\n\nUse the API call `GET /custom-property-structures?{organizationId}` to get the ID of the custom property structure.\n","security":[{"token":["custom-property-structures:read"]}],"parameters":[{"name":"customPropertyStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure.\nUse the API call `GET /custom-property-structures?organizationId={organizationId}` to get the ID of a custom property structure.","example":2},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","label","description","type","options","required"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["id","name","label","description","type","required"]},"description":"Specify the custom property item attribute. The custom property items in the response are sorted by the value of the attribute."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"required":{"type":"boolean"},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"customPropertyStructureItems":[{"id":54,"name":"highPriority","label":"High Priority","description":"Specify whether the scenario is high priority or not.","type":"boolean","options":null,"required":false},{"id":55,"name":"location","label":"Location","description":"Location of the team managing the scenario.","type":"shortText","options":null,"required":false},{"id":56,"name":"description","label":"Description","description":"Custom description of the scenario.","type":"longText","options":null,"required":false},{"id":57,"name":"customId","label":"Company ID","description":"ID managed by our company","type":"number","options":null,"required":true},{"id":134,"name":"performanceCheck","label":"Performance check due date","description":"The date when we should check whether the scenario remains valid and can be improved.","type":"string","format":"date","options":null,"required":true},{"id":43,"name":"companyTeam","label":"Company Team","description":"The team that manages the scenario","type":"dropdown","options":[{"value":"Marketing"},{"value":"Product"},{"value":"Engineering"}],"required":true},{"id":53,"name":"category","label":"Category","description":"The category tags of the scenarios","type":"multiselect","options":[{"value":"Eshop"},{"value":"Notifications"},{"value":"Routing"},{"value":"Products"}],"required":false}],"pg":{"sortBy":"id","limit":10000,"sortDir":"asc","offset":0}}}}}}},"post":{"tags":["Custom properties / Structure items"],"summary":"Create a custom property structure item","description":"Creates custom properties structure items.\n\nAfter creating a structure item, you cannot change its `name` and `type`.\n\nTo add data to the custom properties, use the API call to [fill in custom properties data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n","security":[{"token":["custom-property-structures:write"]}],"parameters":[{"name":"customPropertyStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure.\nUse the API call `GET /custom-property-structures?organizationId={organizationId}` to get the ID of a custom property structure.","example":2}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"The ID of the structure item. The `name` has to be unique in the custom properties structure.","type":"string"},"label":{"description":"Make displays the item label to users in the scenario table header.","type":"string"},"description":{"description":"The description of the custom property structure item. You can review the item description in the **Scenario properties** tab in the Organization dashboard.","type":"string"},"type":{"description":"The data type of the custom property structure item. The data types `dropdown` and `multiselect` allow you to specify available options for the item data.","type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"options":{"description":"The options available to users when filling in the item data. For the data types `dropdown` and `multiselect`, fill in an object like `{\"options\":[{\"value\": \"Marketing\"}, {\"value\": \"Sales\"}]}`.\nYou can omit the `options` parameter for the rest of the data types. "},"required":{"description":"Set to `true` in order to make a structure item required when adding custom property data. Default value is `false`.","type":"boolean"}},"required":["name","label","type"]},"examples":{"basic-example":{"summary":"Text item","description":"Add a custom properties structure item with the data type `shortText`.","value":{"name":"teamLocation","label":"Team location","description":"Location of the team managing the scenario.","type":"shortText","required":true}},"options-example":{"summary":"Item with options","description":"Add a custom properties structure item with a set of available options. The data `type` has to be `dropdown` or `multiselect`. Use the `options` attribute to specify available options.","value":{"name":"category","label":"Category","description":"The scenario category","type":"multiselect","options":[{"value":"Eshop"},{"value":"Notifications"},{"value":"Routing"},{"value":"Products"}],"required":false}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItem":{"allOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"required":{"type":"boolean"},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}}},{"type":"object","properties":{"structureId":{"type":"integer"}}}]}}},"examples":{"basic-example":{"value":{"customPropertyStructureItem":{"id":183,"structureId":6,"name":"teamLocation","label":"Team location","description":"Location of the team managing the scenario.","type":"shortText","options":null,"required":false}}},"options-example":{"value":{"customPropertyStructureItem":{"id":185,"structureId":6,"name":"category","label":"Category","description":"The scenario category","type":"multiselect","options":[{"value":"Eshop"},{"value":"Notifications"},{"value":"Routing"},{"value":"Products"}],"required":false}}}}}}}}}},"/custom-property-structures/custom-property-structure-items/{customPropertyStructureItemId}":{"patch":{"tags":["Custom properties / Structure items"],"summary":"Update custom property structure item","description":"Updates the specified item of a custom property structure. Specify the attributes you want to update in the request body.\n\nYou cannot update the item `name` and `type`.\n\nYou can get the item ID with an API call to [list custom property structure items](./get--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n\nWhen you want to update the `options` of a `multiselect` or `dropdown` item, specify all the options for the property. The new set of options replaces the current options.\n","security":[{"token":["custom-property-structures:write"]}],"parameters":[{"name":"customPropertyStructureItemId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure item. Get the item ID with the API call to [list custom property structure items](/api-reference/custom-properties/structure-items/get--custom-properties--custompropertystructureid--custom-property-structure-items.md).","example":2}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"description":"Make displays the item label to users in the scenario table header.","type":"string"},"description":{"description":"The description of the custom property structure item. You can review the item description in the **Scenario properties** tab in the Organization dashboard.","type":"string"},"options":{"description":"The options available to users when filling in the item data. For the data types `dropdown` and `multiselect`, fill in an object like `{\"options\":[{\"value\": \"Marketing\"}, {\"value\": \"Sales\"}]}`.\nYou can omit the `options` parameter for the rest of the data types. "},"required":{"description":"Set to `true` if you require to fill in data to the structure item when adding custom property data. Default value is `false`.","type":"boolean"}}},"examples":{"update-label":{"summary":"Update custom property","description":"Updates the label of the custom property.","value":{"label":"Updated categories"}},"update-options":{"summary":"Update item options","description":"To update the custom property item options, specify the new set of available options. The new set of options replaces the previous options.","value":{"options":[{"value":"Logistics"},{"value":"People team"}]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItem":{"allOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"required":{"type":"boolean"},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}}},{"type":"object","properties":{"structureId":{"type":"integer"}}}]}}},"examples":{"update-label":{"value":{"customPropertyStructureItem":{"id":2,"structureId":11,"name":"categories","label":"Updated categories","description":"Update label of the categories.","type":"multiselect","options":[{"value":"Accounting"},{"value":"Development"}],"required":true}}},"update-options":{"value":{"customPropertyStructureItem":{"id":2,"structureId":11,"name":"categories","label":"Categories","description":"Update label of the categories.","type":"multiselect","options":[{"value":"Logistics"},{"value":"People team"}],"required":true}}}}}}}}},"delete":{"tags":["Custom properties / Structure items"],"summary":"Delete custom property structure item","description":"Deletes the specified custom property structure item. Use the `confirmed` parameter to confirm deleting the structure item.\nWhen you delete a custom property item, Make deletes the data filled in the item as well. Deleting custom property item data is irreversible.","security":[{"token":["custom-property-structures:write"]}],"parameters":[{"name":"customPropertyStructureItemId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure item. Get the item ID with the API call to [list custom property structure items](/api-reference/custom-properties/structure-items/get--custom-properties--custompropertystructureid--custom-property-structure-items.md).","example":2},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItem":{"type":"number"}}},"example":{"customPropertyStructureItem":2}}}}}}},"/data-stores":{"get":{"tags":["Data stores"],"summary":"List data stores","description":"Retrieves a collection of all data stores for a team with a given ID. Returned data stores are sorted by name in ascending order.","security":[{"token":["datastores:read"]}],"parameters":[{"required":true,"description":"The unique ID of the team whose data stores will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1},{"examples":{"all-columns":{"summary":"Return all details","value":["id","name","teamId","records","size","maxSize","datastructureId"]},"id-name":{"summary":"Return ID and name","value":["id","name"]}},"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","records","size","maxSize","datastructureId"]}},"description":"Specifies the group of values to return. For example, you can retrieve only names and IDs of data stores for a team with a given ID."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["name"]},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStores":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"name":{"type":"string"},"records":{"type":"integer"},"size":{"type":"string"},"maxSize":{"type":"string"},"teamId":{"type":"integer"},"datastructureId":{"type":"integer"}}}},"pg":{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}}}},"examples":{"all-columns":{"summary":"Return all details","description":"Returns all data stores details","value":{"dataStores":[{"id":137,"name":"Customers","records":"0","size":"0","maxSize":"1048576","teamId":212,"datastructureId":123}],"pg":{"sortBy":"name","sortDir":"asc","offset":0,"limit":10}}},"id-name":{"summary":"Return ID and name","description":"Returns IDs and names of data stores","value":{"dataStores":[{"id":137,"name":"Customers"},{"id":256,"name":"Products"}],"pg":{"sortBy":"name","sortDir":"asc","offset":0,"limit":10}}}}}}}}},"post":{"tags":["Data stores"],"summary":"Create data store","description":"Creates a new data store with data passed in the request body. In the response, it returns all details of the created data store.","security":[{"token":["datastores:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The data store name. The name must be at most 128 characters long and does not need to be unique."},"teamId":{"type":"integer","description":"The unique ID of the team in which the data store will be created."},"datastructureId":{"type":"integer","description":"The unique ID of the data structure that will be included in the data store. All data structures IDs for a given team can be retrieved from the [List data structures](/api-reference/data-structures/get--data-structures.md) endpoint."},"maxSizeMB":{"type":"integer","description":"The maximum size of the data store (defined in MB)."}},"required":["name","teamId","datastructureId","maxSizeMB"]},"example":{"name":"Customers","teamId":212,"datastructureId":178,"maxSizeMB":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStore":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"name":{"type":"string"},"records":{"type":"integer"},"size":{"type":"string"},"maxSize":{"type":"string"},"teamId":{"type":"integer"},"datastructureId":{"type":"integer"}}}}},"example":{"dataStore":{"id":137,"name":"Customers","records":"0","size":"0","maxSize":"1048576","teamId":212}}}}}}},"delete":{"tags":["Data stores"],"summary":"Delete data stores","description":"Deletes data stores with given IDs and returns their IDs in the response. This endpoint allows deleting one or more data stores at once.","security":[{"token":["datastores:write"]}],"parameters":[{"description":"Confirms the deletion if a data store is included in at least one scenario. Confirmation is required because the scenario will stop working without the data store. If the parameter is missing or it is set to `false` an error code is returned and the resource is not deleted.","name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true},{"description":"The unique ID of the team from which the data store will be deleted.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"ids":{"type":"array","description":"The IDs of data stores to delete. You can either use only this parameter alone or use the `all` parameter, or the `all` parameter together with the `exceptIds` parameter.","items":{"type":"integer"}}},"required":["ids"]},{"type":"object","properties":{"exceptIds":{"type":"array","description":"The IDs of data stores to be excluded from deleting. It can be only used together with the `all` parameter set to `true`.","items":{"type":"integer"}},"all":{"type":"boolean","description":"If set to `true`, all data stores will be deleted. It can be used alone or together with the `exceptIds` parameter."}},"required":["all"]}]},"example":{"ids":[137,1399]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStores":{"type":"array","items":{"type":"integer"}}}},"example":{"dataStores":[137,1399]}}}}}}},"/data-stores/{dataStoreId}":{"get":{"tags":["Data stores"],"summary":"Get data store details","description":"Retrieves details of a data store with a given ID.","parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","records","size","maxSize","datastructureId"]}},"description":"Specifies the group of values to return. For example, you can retrieve only names and IDs of data stores for a team with a given ID."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStore":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"name":{"type":"string"},"records":{"type":"integer"},"size":{"type":"string"},"maxSize":{"type":"string"},"teamId":{"type":"integer"},"datastructureId":{"type":"integer"}}}}},"example":{"dataStore":{"id":137,"name":"Customers","records":"0","size":"0","maxSize":"1048576","teamId":212}}}}}}},"patch":{"tags":["Data stores"],"summary":"Update data store","description":"Updates properties of a data store with a given ID in a team with a given ID by passing new values in the request body. In the response, it returns all details of the updated data store including properties that were not changed. Any property that is not provided will be left unchanged. This endpoint cannot be used to update data included in the data store - for this use the [endpoints for managing data stores data](./data/get--data-stores--datastoreid--data.md).","security":[{"token":["datastores:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The data store name. The name must be at most 128 characters long and does not need to be unique."},"datastructureId":{"type":"integer","description":"The unique ID of the data structure included in the data store. All data structures IDs for a given team can be retrieved from the [List data structures](/api-reference/data-structures/get--data-structures.md) endpoint."},"maxSizeMB":{"type":"integer","description":"The maximum size of the data store (defined in MB)."}}},"example":{"name":"Data store 2","datastructureId":9,"maxSizeMB":3}}}},"parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStore":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"name":{"type":"string"},"records":{"type":"integer"},"size":{"type":"string"},"maxSize":{"type":"string"},"teamId":{"type":"integer"},"datastructureId":{"type":"integer"}}}}},"example":{"dataStore":{"id":137,"name":"Customers","records":"0","size":"0","maxSize":"1048576","teamId":212}}}}}}}},"/data-stores/{dataStoreId}/data":{"get":{"tags":["Data stores / Data"],"summary":"List data store records","description":"Retrieves a collection of all records from a data store with a given ID. Each returned record consists of the `key` (custom or automatically generated) and `data`.","security":[{"token":["datastores:read"]}],"parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"records":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The unique key of the data store record. If no key is provided, it will be automatically generated."},"data":{"type":"object","description":"The data of the data store record. The structure strictly depends on the included data structure. If no data is provided, in response the values will be set to null."}}}},"spec":{"type":"array","items":{"type":"object"}},"strict":{"type":"boolean"},"count":{"type":"integer"},"pg":{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}}}},"example":{"records":[{"key":"8f7162828bc0","data":{"price":600}}],"spec":[{"name":"price","label":"Price","type":"number","default":null,"required":true}],"strict":false,"count":2,"pg":{"limit":10,"offset":0}}}}}}},"post":{"tags":["Data stores / Data"],"summary":"Create data store record","description":"Creates a new record in a data store with a given ID and returns all record details.","security":[{"token":["datastores:write"]}],"parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The unique key of the data store record. If no key is provided, it will be automatically generated."},"data":{"type":"object","description":"The data of the data store record. The structure strictly depends on the included data structure. If no data is provided, in response the values will be set to null."}}},"example":{"key":"8f7162828bc0","data":{"price":600}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The unique key of the data store record. If no key is provided, it will be automatically generated."},"data":{"type":"object","description":"The data of the data store record. The structure strictly depends on the included data structure. If no data is provided, in response the values will be set to null."}}},"example":{"key":"8f7162828bc0","data":{"price":600}}}}}}},"delete":{"tags":["Data stores / Data"],"summary":"Delete data store records","description":"Deletes records from the specified data store.\n\nSpecify the `keys` of the records you want to delete in the `keys` array in the request body.\n\nUse the `all` parameter in the request body to delete all records from the data store. You have to add the `confirmed` parameter in the API call query to confirm deleting the data, otherwise you get an error.\n\nWhen you are deleting all records, you can use the `exceptKeys` parameter to specify keys of the records which you want to keep.\n\nThe response contains keys of the deleted records.","security":[{"token":["datastores:write"]}],"parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true,"description":"Set to `true` to confirm deleting of the data store records. Otherwise, you get an error and Make won't delete the data store records.","examples":{"delete-all":{"value":true}}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","description":"The keys of data store records you want to delete. Use the `all` and `confirmed` parameters if you want to delete all records in the data store.","items":{"type":"string"}},"all":{"type":"boolean","description":"Set to `true` to delete all records in the data store. Use the `confirmed` parameter to confirm the deletion. You can also use the `exceptKeys` parameter to specify keys of the records that you want to keep in the data store."},"exceptKeys":{"type":"array","description":"Specify the keys of the data store records you want to keep when deleting all records from the data store.","items":{"type":"string"}}}},"examples":{"delete-selected":{"summary":"Delete records","description":"Delete records in the data store. Specify the record keys in the `keys` array in the request body.","value":{"keys":["1abd2defk","568tyuj45"]}},"delete-all":{"summary":"Delete all records","description":"Deletes all records in the data store. You have to confirm the deletion with the `confirmed` parameter. You can use the `exceptKeys` parameter to specify keys of the records you want to keep.","value":{"all":true,"exceptKeys":["568tyuj45"]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}}}},"examples":{"delete-selected":{"value":{"keys":["1abd2defk","568tyuj45"]}},"delete-all":{"value":{"keys":["1abd2defk"]}}}}}}}}},"/data-stores/{dataStoreId}/data/{dataStoreKeyRecord}":{"put":{"tags":["Data stores / Data"],"summary":"Update entire data store record","description":"Updates a data store record with a given key by passing new data in the request body. It replaces the entire resource with the new values. In the response, this endpoint returns all details of the updated data.","security":[{"token":["datastores:write"]}],"parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137},{"name":"dataStoreKeyRecord","in":"path","schema":{"type":"string"},"required":true,"description":"The key of the data store record. It can be retrieved from the [List data store records](/api-reference/data-stores/data/get--data-stores--datastoreid--data.md) endpoint.","example":"ecc4819b2260"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"The data is different for each data store so there are no predefined body properties to use. Please see the request example for more details."},"example":{"price":600}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The unique key of the data store record. If no key is provided, it will be automatically generated."},"data":{"type":"object","description":"The data of the data store record. The structure strictly depends on the included data structure. If no data is provided, in response the values will be set to null."}}},"example":{"key":"8f7162828bc0","data":{"price":600}}}}}}},"patch":{"tags":["Data stores / Data"],"summary":"Update data store record details","description":"Updates a data store record with a given key by passing new data in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated data including properties that were not changed.","security":[{"token":["datastores:write"]}],"parameters":[{"name":"dataStoreId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the data store. Get the `dataStoreId` from the [List data stores](/api-reference/data-stores/get--data-stores.md) endpoint.","example":137},{"name":"dataStoreKeyRecord","in":"path","schema":{"type":"string"},"required":true,"description":"The key of the data store record. It can be retrieved from the [List data store records](/api-reference/data-stores/data/get--data-stores--datastoreid--data.md) endpoint.","example":"ecc4819b2260"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"The data is different for each data store so there are no predefined body properties to use. Please see the request example for more details."},"example":{"price":600}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The unique key of the data store record. If no key is provided, it will be automatically generated."},"data":{"type":"object","description":"The data of the data store record. The structure strictly depends on the included data structure. If no data is provided, in response the values will be set to null."}}},"example":{"key":"8f7162828bc0","data":{"price":600}}}}}}}},"/data-structures":{"get":{"tags":["Data structures"],"summary":"List data structures","description":"Retrieves a collection of all data structures for a team with a given ID. Returned data structures are sorted by name in ascending order.","security":[{"token":["udts:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The unique ID of the team whose data structures will be retrieved.","example":123},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","spec","strict"]}},"description":"Specifies the group of values to return. For example, you can retrieve only names of data structures for a team with a given ID."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["name"]},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStructures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"teamId":{"type":"integer"},"name":{"type":"string","minLength":1,"maxLength":128},"strict":{"type":"boolean"},"spec":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["id","teamId","name","strict","spec"]}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"examples":{"default":{"summary":"Empty data structure","description":"Returns data structures with empty specification","value":{"dataStructures":[{"id":9,"name":"Data structure 1","teamId":1},{"id":1,"name":"Data structure 2","teamId":1}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}}},"all":{"summary":"Data structure with spec","description":"Returns data structure with full specification","value":{"dataStructures":[{"id":9,"name":"Data structure 1","teamId":1,"spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"1,","required":false}],"strict":true},{"id":1,"name":"Data structure 2","teamId":1,"spec":[{"type":"string","format":"date","name":"dt","label":"Date field"}],"strict":false}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}}}}}}}}},"post":{"tags":["Data structures"],"summary":"Create data structure","description":"Creates a new data structure with data passed in the request body. In the response, it returns all details of the created data structure including its full specification.","security":[{"token":["udts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"integer","description":"The unique ID of the team in which the data structure will be created."},"name":{"type":"string","description":"The name of the data structure. The maximum length of the name is 128 characters.","minLength":1,"maxLength":128},"strict":{"type":"boolean","description":"Set to `true` to enforce strict validation of the data put in the data structure. With the strict validation enabled, the data structure won't store data that don't fit into the structure and the storing module will return an error.\n\nThe default value of this parameter is `false`. With the default setting, the modules using the data structure will process data that don't conform to the data structure.\n","example":true},"spec":{"type":"array","description":"Sets the data structure specification.","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["teamId","name","strict","spec"]},"example":{"teamId":1,"name":"Data structure 1","strict":true,"spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"1,","required":false}]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStructure":{"type":"object","properties":{"id":{"type":"integer"},"teamId":{"type":"integer"},"name":{"type":"string","minLength":1,"maxLength":128},"strict":{"type":"boolean"},"spec":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["id","teamId","name","strict","spec"]}}},"example":{"dataStructure":{"id":9,"name":"Data structure 1","teamId":1,"spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"1,","required":false}],"strict":true}}}}}}}},"/data-structures/{dataStructureId}":{"get":{"tags":["Data structures"],"summary":"Get data structure","description":"Retrieves a data structure with a given ID","security":[{"token":["udts:read"]}],"parameters":[{"name":"dataStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The data structure ID. Get the `dataStructureId` with the [list data structures](/api-reference/data-structures/get--data-structures.md) endpoint.","example":1459},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","spec","strict"]}},"description":"Specifies the group of values to return. For example, you can retrieve only name of a data structure."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStructure":{"type":"object","properties":{"id":{"type":"integer"},"teamId":{"type":"integer"},"name":{"type":"string","minLength":1,"maxLength":128},"strict":{"type":"boolean"},"spec":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["id","teamId","name","strict","spec"]}}},"example":{"dataStructure":{"id":9,"name":"Data structure 1","teamId":1,"spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"2,","required":false}],"strict":true}}}}}}},"patch":{"tags":["Data structures"],"summary":"Update data structure","description":"Updates the specified data structure. Make updates only parameters you send in the request body.\nNote that when you update the data structure specification with the `spec` parameter, you have to provide all structure fields you want to use. Make replaces the old structure specification with the new one.\nThe response contains all details about the updated data structure.","security":[{"token":["udts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the data structure. The maximum length of the name is 128 characters.","minLength":1,"maxLength":128},"strict":{"type":"boolean","description":"Set to `true` to enforce strict validation of the data put in the data structure. With the strict validation enabled, the data structure won't store data that don't fit into the structure and the storing module will return an error.\n\nThe default value of this parameter is `false`. With the default setting, the modules using the data structure will process data that don't conform to the data structure.\n","example":false},"spec":{"type":"array","description":"Sets the data structure specification.\n \nNote that when you update the data structure specification with the `spec` parameter, you have to provide all structure fields you want to use. Make replaces the old structure specification with the new one.\"\n","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}}},"example":{"name":"Data structure 1","spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"2,","required":false}]}}}},"parameters":[{"name":"dataStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The data structure ID. Get the `dataStructureId` with the [list data structures](/api-reference/data-structures/get--data-structures.md) endpoint.","example":1459}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStructure":{"type":"object","properties":{"id":{"type":"integer"},"teamId":{"type":"integer"},"name":{"type":"string","minLength":1,"maxLength":128},"strict":{"type":"boolean"},"spec":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["id","teamId","name","strict","spec"]}}},"example":{"dataStructure":{"id":9,"name":"Data structure 1","teamId":1,"spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"2,","required":false}],"strict":true}}}}}}},"delete":{"tags":["Data structures"],"summary":"Delete data structure","description":"Deletes a data structure with a given ID and returns the ID in the response.","security":[{"token":["udts:write"]}],"parameters":[{"name":"dataStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The data structure ID. Get the `dataStructureId` with the [list data structures](/api-reference/data-structures/get--data-structures.md) endpoint.","example":1459},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"Confirms the deletion if a data structure is included in at least one scenario. Confirmation is required because the scenario will stop working without the data structure. If the parameter is missing or it is set to `false` an error code is returned and the resource is not deleted.","example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStructure":{"type":"integer"}}},"example":{"dataStructure":1}}}}}}},"/data-structures/{dataStructureId}/clone":{"post":{"tags":["Data structures"],"summary":"Clone data structure","description":"Clones the specified data structure. Use the `targetTeamId` to clone the data structure to the specified team.\n\nThe response contains all details of the data structure clone with data structure full specification.","security":[{"token":["udts:write"]}],"parameters":[{"name":"dataStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The data structure ID. Get the `dataStructureId` with the [list data structures](/api-reference/data-structures/get--data-structures.md) endpoint.","example":1459}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the data structure clone. The maximum length of the name is 128 characters.","minLength":1,"maxLength":128},"targetTeamId":{"type":"integer","description":"The ID of the team that should use the data structure clone. If you don't specify the `targetTeamId` Make clones the data structure in the original team."}},"required":["name"]},"example":{"name":"Cloned data structure","targetTeamId":22}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dataStructure":{"type":"object","properties":{"id":{"type":"integer"},"teamId":{"type":"integer"},"name":{"type":"string","minLength":1,"maxLength":128},"strict":{"type":"boolean"},"spec":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["boolean"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"string"},"multiline":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["number"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"default":{"type":"number"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"name":{"type":"string"},"label":{"type":"string"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["buffer"]},"name":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"codepage":{"type":"string","enum":["binary","utf8"]}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["collection"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"array","items":{"type":"object"}},"sequence":{"type":"boolean"}},"required":["name","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["array"]},"name":{"type":"string"},"label":{"type":"string"},"spec":{"type":"object"},"sequence":{"type":"boolean"}},"required":["name","type"]}]}}},"required":["id","teamId","name","strict","spec"]},"differentTeam":{"type":"boolean"}}},"example":{"dataStructure":{"id":2547,"name":"Cloned data structure","teamId":22,"spec":[{"type":"text","name":"txt","label":"Text field","default":"default string","required":true},{"type":"number","name":"num","label":"Number field","default":"1,","required":false}],"strict":true}}}}}}}},"/devices":{"get":{"tags":["Devices"],"summary":"List","description":"Get a list of devices of a given team.","security":[{"token":["devices:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"example":"1"},{"name":"assigned","in":"query","schema":{"type":"boolean"},"description":"true = devices with scenarioId; false = devices without scenarioId - this filter only affects the trigger scope","example":"true"},{"name":"viewForScenarioId","in":"query","schema":{"type":"integer"},"description":"Devices assigned to the scenario and not assigned devices. If this parameter is set assigned parameter is ignored.","example":"4"},{"name":"scope[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["call","scanner"]}},"example":"call"},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","udid","scope","info","queueCount","queueLimit","scenarioId"]}},"example":"name"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"info":{"type":"object"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"scenarioId":{"type":"integer"}}}}}},"example":{"devices":[{"id":2,"name":"Phone","teamId":2,"udid":"XboVPMTfgtwBNjRr7AGPe9X4AdRZhkaF","scope":["call","scaner"],"info":null,"queueCount":0,"queueLimit":10000,"scenarioId":null}]}}}}}}},"/devices/{deviceId}":{"get":{"tags":["Devices"],"summary":"Detail","description":"The ID can be id or udid.","security":[{"token":["devices:read"]}],"parameters":[{"name":"deviceId","in":"path","schema":{"type":"integer"},"required":true},{"name":"inspector","in":"query","schema":{"type":"integer"},"example":"1"},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","udid","scope","info","queueCount","queueLimit","scenarioId"]}},"example":"name"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"device":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"info":{"type":"object"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"scenarioId":{"type":"integer"}}}}},"example":{"device":{"id":2,"name":"Phone","teamId":2,"udid":"XboVPMTfgtwBNjRr7AGPe9X4AdRZhkaF","scope":["call","scaner"],"info":null,"queueCount":0,"queueLimit":10000,"scenarioId":null}}}}}}},"patch":{"tags":["Devices"],"summary":"Partial update","description":"Update a device","security":[{"token":["devices:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"},"example":{"name":"Android phone"}}}},"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","udid","scope","info","queueCount","queueLimit","scenarioId"]}},"example":"name"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"device":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"info":{"type":"object"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"scenarioId":{"type":"integer"}}}}},"example":{"device":{"id":2,"name":"Android phone","teamId":2,"udid":"XboVPMTfgtwBNjRr7AGPe9X4AdRZhkaF","scope":["call","scaner"],"info":null,"queueCount":0,"queueLimit":10000,"scenarioId":null}}}}}}},"delete":{"tags":["Devices"],"summary":"Delete","description":"Errors:<br />\r\nIM004 - Confirmation required (error with metadata) - needs confirmation<br />\r\nIM405 - Device can't be deleted because it contains messages in queue (error with metadata) - needs confirmation<br />\r\nIM005 - Device is locked by a running scenario and thus can't be deleted","security":[{"token":["devices:write"]}],"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true,"example":2},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":"true"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"device":{"type":"integer"}}},"example":{"device":2}}}}}}},"/devices/request":{"post":{"tags":["Devices"],"summary":"Create request","description":"Required scope: devices:write","security":[{"token":["devices:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"teamId":{"type":"integer"}}},"example":{"name":"Phone","teamId":1}}}},"parameters":[{"name":"inspector","in":"query","schema":{"type":"integer"},"example":"1"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"createDeviceRequest":{"type":"object","properties":{"udid":{"type":"string"},"inspector":{"type":"boolean"}}}}},"example":{"createDeviceRequest":{"udid":"k1KqeAVIYA5Rq5vduiU3mUfbGD4vhTfH","inspector":true}}}}}}}},"/devices/{deviceId}/incomings":{"get":{"tags":["Devices / Incomings"],"summary":"List","description":"Required scope: devices:read","security":[{"token":["devices:read"]}],"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"scope","in":"query","schema":{"type":"string"},"example":"new_sms"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incomings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"incomings":[{"id":"27c4879e5fae4d78b0d371f59187fa93","scope":"new_sms","size":1,"created":"2021-01-26T06:55:58.803Z"}],"pg":{"sortBy":"created","limit":10000,"sortDir":"asc","offset":0}}}}}}},"delete":{"tags":["Devices / Incomings"],"summary":"Delete","description":"\"ids\" and \"all\" can no be used together<br />\r\n\"ids\" or \"all\" has to be set<br />\r\n\"exceptIds\" is possible to use only with \"all\"<br />\r\nIt could happen, that some incoming messages are deleted and others not. In this case, the API returns a successful status code, and the response additionally contains an error object with a error description.","security":[{"token":["devices:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}},"exceptIds":{"type":"array","items":{"type":"string"}},"all":{"type":"boolean"}}},"example":{"ids":[],"exceptIds":[],"all":true}}}},"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":"true"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incomings":{"type":"array","items":{"type":"string"}},"error":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"}}}}},"examples":{"delete":{"summary":"Delete","value":{"incomings":["4ff11b6d24e24fa9add17d11a8143578","167193ab06d34b879346c69aebc8f5c1","d1efa5318a034d36ad7cbeac543573cf","29d9a7410dff494ab739036f6c332335"]}},"delete-with-error":{"summary":"Delete with error","value":{"incomings":["02731358e5ab4022aff040015a1f1a57","dcf18b685e5c4095b9ee24cea09146d3"],"error":{"name":"APIError","message":"Some of the incoming messages could not be deleted because they are being processed right now."}}}}}}}}}},"/devices/{deviceId}/incomings/{incomingId}":{"get":{"tags":["Devices / Incomings"],"summary":"Detail","description":"Required scope: devices:read","security":[{"token":["devices:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"},"data":{"type":"string"}}},"examples":{"detail":{"value":{"id":5,"scope":"text","size":5,"created":"2004-10-19 10:23:54+02","data":"text"}}}}}}},"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"incomingId","in":"path","schema":{"type":"string"},"required":true}]}},"/devices/{deviceId}/incomings/stats":{"get":{"tags":["Devices / Incomings"],"summary":"Stats","description":"Required scope: devices:read","security":[{"token":["devices:read"]}],"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"scope","in":"query","schema":{"type":"string"},"example":"new_sms"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incomingStat":{"type":"object","properties":{"queue":{"type":"integer"},"limit":{"type":"integer"},"enabled":{"type":"boolean"}}}}},"example":{"incomingStat":{"queue":1,"limit":10000,"enabled":true}}}}}}}},"/devices/{deviceId}/outgoings":{"get":{"tags":["Devices / Outgoing"],"summary":"List","description":"Required scope: devices:read","security":[{"token":["devices:read"]}],"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"scope","in":"query","schema":{"type":"string"},"example":"new_sms"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"outgoings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"outgoings":[{"id":"ce2ab2eca9874a8b874f5deb6e22d475","scope":"new_sms","size":1,"created":"2021-01-12T15:08:36.732Z"}],"pg":{"sortBy":"created","limit":10000,"sortDir":"asc","offset":0}}}}}}},"delete":{"tags":["Devices / Outgoing"],"summary":"Delete","description":"\"ids\" and \"all\" can no be used together<br />\r\n\"ids\" or \"all\" has to be set<br />\r\n\"exceptIds\" is possible to use only with \"all\"<br />\r\nIt could happen, that some incoming messages are deleted and others not. In this case, the API returns a successful status code, and the response additionally contains an error object with a error description.","security":[{"token":["devices:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}},"exceptIds":{"type":"array","items":{"type":"string"}},"all":{"type":"boolean"}}},"example":{"ids":[],"exceptIds":[],"all":true}}}},"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":"true"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"outgoings":{"type":"array","items":{"type":"string"}},"error":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"}}}}},"examples":{"delete":{"summary":"Delete","value":{"outgoings":["4ff11b6d24e24fa9add17d11a8143578","167193ab06d34b879346c69aebc8f5c1","d1efa5318a034d36ad7cbeac543573cf","29d9a7410dff494ab739036f6c332335"]}},"delete-with-error":{"summary":"Delete with error","value":{"outgoings":["02731358e5ab4022aff040015a1f1a57","dcf18b685e5c4095b9ee24cea09146d3"],"error":{"name":"APIError","message":"Some of the outgoings messages could not be deleted because they are being processed right now."}}}}}}}}}},"/devices/{deviceId}/outgoings/{outgoingId}":{"get":{"tags":["Devices / Outgoing"],"summary":"Detail","description":"Required scope: devices:read","security":[{"token":["devices:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"},"data":{"type":"string"}}},"examples":{"detail":{"value":{"id":5,"scope":"text","size":5,"created":"2004-10-19 10:23:54+02","data":"text"}}}}}}},"parameters":[{"name":"deviceId","in":"path","schema":{"type":"string"},"required":true},{"name":"outgoingId","in":"path","schema":{"type":"string"},"required":true}]}},"/dlqs":{"get":{"tags":["Incomplete executions"],"summary":"List scenario incomplete executions","description":"Retrieves the list of incomplete executions of the specified scenario. Supports optional server-side filters — combine any of them to narrow down the results.","security":[{"token":["dlqs:read"]}],"parameters":[{"name":"scenarioId","in":"query","schema":{"type":"integer"},"required":true,"example":4,"description":"The ID value of the scenario. Use the API call `GET /scenarios` to get the ID of the scenario. If your scenario is placed in a folder, use the API call `GET /scenarios-folders?teamId={teamId}` first."},{"name":"idSearch","in":"query","schema":{"type":"string"},"example":"ada87173334b44d1907270064edbd7dd","description":"Filters the incomplete executions by a substring of their ID value (case-insensitive)."},{"name":"createdFrom","in":"query","schema":{"type":"integer"},"example":1572864000000,"description":"Filters the incomplete executions created on or after this Unix timestamp (in milliseconds)."},{"name":"createdTo","in":"query","schema":{"type":"integer"},"example":1572950400000,"description":"Filters the incomplete executions created on or before this Unix timestamp (in milliseconds)."},{"name":"sizeFrom","in":"query","schema":{"type":"integer","minimum":0},"example":0,"description":"Filters the incomplete executions with a payload size (in bytes) greater than or equal to this value."},{"name":"sizeTo","in":"query","schema":{"type":"integer","minimum":0},"example":10240,"description":"Filters the incomplete executions with a payload size (in bytes) less than or equal to this value."},{"name":"status","in":"query","schema":{"type":"string","enum":["resolved","scheduled","inprogress","unresolved"]},"example":"unresolved","description":"Filters the incomplete executions by their derived status: `resolved` (already retried successfully), `scheduled` (will be automatically retried in the future), `inprogress` (currently being retried), or `unresolved` (none of the above)."},{"name":"scheduledInFrom","in":"query","schema":{"type":"integer"},"example":1572864000000,"description":"Filters the incomplete executions with the next automatic retry scheduled on or after this Unix timestamp (in milliseconds)."},{"name":"scheduledInTo","in":"query","schema":{"type":"integer"},"example":1572950400000,"description":"Filters the incomplete executions with the next automatic retry scheduled on or before this Unix timestamp (in milliseconds)."},{"name":"attemptsFrom","in":"query","schema":{"type":"integer","minimum":0,"maximum":32767},"example":0,"description":"Filters the incomplete executions with a number of retry attempts greater than or equal to this value."},{"name":"attemptsTo","in":"query","schema":{"type":"integer","minimum":0,"maximum":32767},"example":5,"description":"Filters the incomplete executions with a number of retry attempts less than or equal to this value."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlqs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"reason":{"type":"string"},"created":{"type":"string","format":"date-time"},"size":{"type":"integer"},"resolved":{"type":"boolean"},"retry":{"type":"boolean"},"attempts":{"type":"integer"}}}}}},"example":{"dlqs":[{"id":"ada87173334b44d1907270064edbd7dd","reason":"IP address is not valid.","created":"2019-11-04T10:52:57.260Z","size":5,"resolved":false,"retry":true,"attempts":1},{"id":"c29c4bf027c74bfc848e1803bf764447","reason":"IP address is not valid.","created":"2019-11-04T10:52:12.276Z","size":5,"resolved":false,"retry":true,"attempts":0}]}}}}}},"delete":{"tags":["Incomplete executions"],"summary":"Delete scenario incomplete executions","description":"Deletes incomplete executions of the specified scenario. Specify the incomplete execution ID values in the `ids` array in the request body to delete the specified incomplete executions.\n\nYou can set the `\"all\": true` pair to delete all incomplete executions of the specified scenario. If you use the `\"all\": true` parameter, you have to specify the `confirmed=true` query parameter to confirm the deletion. Otherwise, the API call returns the error IM004 (406).\n\nAdd the `exceptIds` array to the request body to specify items you don't want to delete.\n\nYou get an error if you try to delete incomplete executions which are being processed. The rest of the specified items is still deleted.","security":[{"token":["dlqs:write"]}],"parameters":[{"name":"scenarioId","in":"query","schema":{"type":"integer"},"example":4,"required":true,"description":"The ID value of the scenario. Use the API call `GET /scenarios` to get the ID of the scenario. If your scenario is placed in a folder, use the API call `GET /scenarios-folders?teamId={teamId}` first."},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":"true","description":"Set to `true` to confirm deleting the incomplete executions. Otherwise the API call fails with the error IM004 (406)."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The ID values of the scenario incomplete executions that you want to delete. Use the API call `GET /dlqs/?scenarioId={scenarioId}` to get the ID values of the webhook processing queue items."},"exceptIds":{"type":"array","items":{"type":"string"},"description":"If you are deleting all of the incomplete executions with the `all:true` parameter, you can specify the ID values of the incomplete executions that you want to keep. Use the API call `GET /dlqs?scenarioId={scenarioId}` to get the ID values of the incomplete executions."},"all":{"type":"boolean","description":"Set to `true` to delete all incomplete executions of the specified scenario."}}},"examples":{"delete":{"summary":"Delete incomplete executions","description":"Delete incomplete executions of the specified scenario.","value":{"ids":["85354fed3c804ec3a137b9ceb9dc9256","3b8badf2afd7447eb4340c24d1706b83"],"exceptIds":[],"all":false}},"delete-with-error":{"summary":"Delete error","description":"You get the API error if you try to delete incomplete executions that are being processed at the moment. The items that are not being processed will be deleted.","value":{"ids":["2f2eb8de489a4e059518b212f5388bf3"]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlqs":{"type":"array","items":{"type":"string"}}}},"examples":{"delete":{"value":{"dlqs":["f140d39b5c9c4c72b3bc4f3b7aa467de","74232267212a431ebab728158575ef65"]}},"delete-with-error":{"value":{"dlqs":["2f2eb8de489a4e059518b212f5388bf3"],"error":{"name":"APIError","message":"Some of the executions could not be deleted because they are being processed right now.","stack":"APIError: Some of the executions could not be deleted because they are being processed right now.\n  at deleteDlqMulti (C:\\make-repo\\imt-web-api\\lib\\controllers\\dlqs.js:162:16)\n  at processTicksAndRejections (internal/process/task_queues.js:93:5)"}}}}}}}}}},"/dlqs/{dlqId}":{"get":{"tags":["Incomplete executions"],"summary":"Incomplete execution detail","description":"Gets detail of the specified incomplete execution.","security":[{"token":["dlqs:read"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"example":"a07e16f2ad134bf49cf83a00aa95c0a5","description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlq":{"type":"object","properties":{"id":{"type":"string"},"scenarioId":{"type":"integer"},"scenarioName":{"type":"string"},"companyId":{"type":"integer"},"companyName":{"type":"string"},"resolved":{"type":"boolean"},"deleted":{"type":"boolean"},"index":{"type":"integer"},"created":{"type":"string","format":"date-time"},"executionId":{"type":"string"},"retry":{"type":"boolean"},"attempts":{"type":"integer"},"size":{"type":"integer"}}}}},"example":{"dlq":{"id":"a07e16f2ad134bf49cf83a00aa95c0a5","scenarioId":3,"scenarioName":"DLQS test","companyId":1,"companyName":"My Lab","resolved":false,"deleted":false,"index":49,"created":"2019-11-26T09:57:10.039Z","executionId":"55602700-e840-45bf-b18c-0aef214dd967","retry":false,"attempts":2,"size":21}}}}}}},"patch":{"tags":["Incomplete executions"],"summary":"Update incomplete execution","description":"Updates the specified incomplete execution.","security":[{"token":["dlqs:write"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`.","example":"a07e16f2ad134bf49cf83a00aa95c0a5"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"type":"string","description":"The blueprint you want to use to resolve the incomplete execution. If you download the blueprint from a Make scenario as a JSON object, you have to escape the blueprint contents to be able to send it as a string."},"failer":{"type":"integer","description":"The module ID which caused the incomplete execution of the scenario."}}},"example":{"blueprint":"{\"name\":\"Integration of failing scenario\",\"flow\":[{\"id\":1,\"module\":\"http:ActionSendData\",\"version\":3,\"parameters\":{\"handleErrors\":false},\"mapper\":{\"ca\":\"\",\"qs\":[],\"url\":\"https://local.make.cloud/api/not-existing-page\",\"gzip\":true,\"method\":\"get\",\"headers\":[],\"timeout\":\"\",\"authPass\":\"\",\"authUser\":\"\",\"bodyType\":\"\",\"shareCookies\":false,\"parseResponse\":false,\"followRedirect\":true,\"useQuerystring\":false,\"rejectUnauthorized\":true},\"metadata\":{\"designer\":{\"x\":0,\"y\":0},\"restore\":{\"qs\":{\"mode\":\"chose\",\"items\":[]},\"method\":{\"mode\":\"chose\",\"label\":\"GET\"},\"headers\":{\"mode\":\"chose\",\"items\":[]},\"bodyType\":{\"label\":\"\"}},\"parameters\":[{\"name\":\"handleErrors\",\"type\":\"boolean\",\"label\":\"Evaluate all states as errors (except for 2xx and 3xx )\",\"required\":true}],\"expect\":[{\"name\":\"url\",\"type\":\"url\",\"label\":\"URL\",\"required\":true},{\"name\":\"method\",\"type\":\"select\",\"label\":\"Method\",\"required\":true,\"validate\":{\"enum\":[\"get\",\"head\",\"post\",\"put\",\"patch\",\"delete\"]}},{\"name\":\"headers\",\"spec\":[{\"name\":\"name\",\"type\":\"text\",\"label\":\"Name\",\"required\":true},{\"name\":\"value\",\"type\":\"text\",\"label\":\"Value\"}],\"type\":\"array\",\"label\":\"Headers\",\"labels\":{\"add\":\"Add a header\",\"edit\":\"Edit a header\"}},{\"name\":\"qs\",\"spec\":[{\"name\":\"name\",\"type\":\"text\",\"label\":\"Name\",\"required\":true},{\"name\":\"value\",\"type\":\"text\",\"label\":\"Value\"}],\"type\":\"array\",\"label\":\"Query String\",\"labels\":{\"add\":\"Add parameter\",\"edit\":\"Edit parameter\"}},{\"name\":\"bodyType\",\"type\":\"select\",\"label\":\"Body type\",\"validate\":{\"enum\":[\"raw\",\"x_www_form_urlencoded\",\"multipart_form_data\"]}},{\"name\":\"parseResponse\",\"type\":\"boolean\",\"label\":\"Parse response\",\"required\":true},{\"name\":\"authUser\",\"type\":\"text\",\"label\":\"User name\"},{\"name\":\"authPass\",\"type\":\"password\",\"label\":\"Password\"},{\"name\":\"timeout\",\"type\":\"uinteger\",\"label\":\"Timeout\",\"validate\":{\"max\":300,\"min\":1}},{\"name\":\"shareCookies\",\"type\":\"boolean\",\"label\":\"Share cookies with other HTTP modules\",\"required\":true},{\"name\":\"ca\",\"type\":\"cert\",\"label\":\"Self-signed certificate\",\"multiline\":true},{\"name\":\"rejectUnauthorized\",\"type\":\"boolean\",\"label\":\"Reject connections that are using unverified (self-signed) certificates\",\"required\":true},{\"name\":\"followRedirect\",\"type\":\"boolean\",\"label\":\"Follow redirect\",\"required\":true},{\"name\":\"useQuerystring\",\"type\":\"boolean\",\"label\":\"Disable serialization of multiple same query string keys as arrays\",\"required\":true},{\"name\":\"gzip\",\"type\":\"boolean\",\"label\":\"Request compressed content\",\"required\":true}]},\"onerror\":[{\"id\":2,\"module\":\"builtin:Break\",\"version\":1,\"parameters\":{},\"mapper\":{\"count\":\"3\",\"retry\":true,\"interval\":\"1\"},\"metadata\":{\"designer\":{\"x\":300,\"y\":0},\"restore\":{\"retry\":{\"mode\":\"chose\"}},\"expect\":[{\"name\":\"retry\",\"type\":\"boolean\",\"label\":\"Automatically complete execution\",\"required\":true},{\"name\":\"count\",\"type\":\"uinteger\",\"label\":\"Number of attempts\",\"required\":true},{\"name\":\"interval\",\"type\":\"uinteger\",\"label\":\"Interval between attempts\",\"required\":true}]}}]}],\"metadata\":{\"version\":1,\"scenario\":{\"autoCommit\":true,\"autoCommitTriggerLast\":true,\"roundtrips\":1,\"maxErrors\":3}}}","failer":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlq":{"type":"object","properties":{"failer":{"type":"integer"},"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}}}}}}},"example":{"dlq":{"failer":1,"blueprint":{"flow":[{"id":1,"mapper":{"ca":"","qs":[],"url":"https://local.make.cloud/api/not-existing-page","gzip":true,"method":"get","headers":[],"timeout":"","authPass":"","authUser":"","bodyType":"","shareCookies":false,"parseResponse":false,"followRedirect":true,"useQuerystring":false,"rejectUnauthorized":true},"module":"http:ActionSendData","onerror":[{"id":2,"mapper":{"count":"3","retry":true,"interval":"1"},"module":"builtin:Break","version":1,"metadata":{"expect":[{"name":"retry","type":"boolean","label":"Automatically complete execution","required":true},{"name":"count","type":"uinteger","label":"Number of attempts","required":true},{"name":"interval","type":"uinteger","label":"Interval between attempts","required":true}],"restore":{"retry":{"mode":"chose"}},"designer":{"x":300,"y":0}},"parameters":{}}],"version":3,"metadata":{"expect":[{"name":"url","type":"url","label":"URL","required":true},{"name":"method","type":"select","label":"Method","required":true,"validate":{"enum":["get","head","post","put","patch","delete"]}},{"name":"headers","spec":[{"name":"name","type":"text","label":"Name","required":true},{"name":"value","type":"text","label":"Value"}],"type":"array","label":"Headers","labels":{"add":"Add a header","edit":"Edit a header"}},{"name":"qs","spec":[{"name":"name","type":"text","label":"Name","required":true},{"name":"value","type":"text","label":"Value"}],"type":"array","label":"Query String","labels":{"add":"Add parameter","edit":"Edit parameter"}},{"name":"bodyType","type":"select","label":"Body type","validate":{"enum":["raw","x_www_form_urlencoded","multipart_form_data"]}},{"name":"parseResponse","type":"boolean","label":"Parse response","required":true},{"name":"authUser","type":"text","label":"User name"},{"name":"authPass","type":"password","label":"Password"},{"name":"timeout","type":"uinteger","label":"Timeout","validate":{"max":300,"min":1}},{"name":"shareCookies","type":"boolean","label":"Share cookies with other HTTP modules","required":true},{"name":"ca","type":"cert","label":"Self-signed certificate","multiline":true},{"name":"rejectUnauthorized","type":"boolean","label":"Reject connections that are using unverified (self-signed) certificates","required":true},{"name":"followRedirect","type":"boolean","label":"Follow redirect","required":true},{"name":"useQuerystring","type":"boolean","label":"Disable serialization of multiple same query string keys as arrays","required":true},{"name":"gzip","type":"boolean","label":"Request compressed content","required":true}],"restore":{"qs":{"mode":"chose","items":[]},"method":{"mode":"chose","label":"GET"},"headers":{"mode":"chose","items":[]},"bodyType":{"label":""}},"designer":{"x":0,"y":0},"parameters":[{"name":"handleErrors","type":"boolean","label":"Evaluate all states as errors (except for 2xx and 3xx )","required":true}]},"parameters":{"handleErrors":false}}],"name":"Integration of failing scenario","metadata":{"version":1,"scenario":{"maxErrors":3,"autoCommit":true,"roundtrips":1}}}}}}}},"403":{"description":"A module in the submitted blueprint places a locked connection or key the user is not allowed to use (`IM002`, placement guard). Returned only when locked-entities enforcement is enabled for the organization; an untouched frozen module and releasing a locked entity (swapping it out or removing its module) always pass.\n"}}},"delete":{"tags":["Incomplete executions"],"summary":"Delete - deprecated","deprecated":true,"description":"Required scope: datastores:write","security":[{"token":["dlqs:write"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlq":{"type":"string"}}},"examples":{"delete":{"summary":"Delete","value":{"dlq":"ada87173334b44d1907270064edbd7dd"}}}}}}}}},"/dlqs/{dlqId}/blueprint":{"get":{"tags":["Incomplete executions"],"summary":"Get failed scenario blueprint","description":"Gets the blueprint of the scenario that caused the incomplete execution.","security":[{"token":["dlqs:read"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"example":"a07e16f2ad134bf49cf83a00aa95c0a5","description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"response":{"type":"object","properties":{"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}}},"company":{"type":"integer"},"idSequence":{"type":"integer"},"reason":{"type":"string"}}}}},"example":{"code":"OK","response":{"blueprint":{"flow":[{"id":1,"mapper":{"ca":"","qs":[],"url":"https://local.make.cloud/api/not-existing-page","gzip":true,"method":"get","headers":[],"timeout":"","authPass":"","authUser":"","bodyType":"","shareCookies":false,"parseResponse":false,"followRedirect":true,"useQuerystring":false,"rejectUnauthorized":true},"module":"http:ActionSendData","onerror":[{"id":2,"mapper":{"count":"3","retry":true,"interval":"1"},"module":"builtin:Break","version":1,"metadata":{"expect":[{"name":"retry","type":"boolean","label":"Automatically complete execution","required":true},{"name":"count","type":"uinteger","label":"Number of attempts","required":true},{"name":"interval","type":"uinteger","label":"Interval between attempts","required":true}],"restore":{"retry":{"mode":"chose"}},"designer":{"x":300,"y":0}},"parameters":{}}],"version":3,"metadata":{"expect":[{"name":"url","type":"url","label":"URL","required":true},{"name":"method","type":"select","label":"Method","required":true,"validate":{"enum":["get","head","post","put","patch","delete"]}},{"name":"headers","spec":[{"name":"name","type":"text","label":"Name","required":true},{"name":"value","type":"text","label":"Value"}],"type":"array","label":"Headers","labels":{"add":"Add a header","edit":"Edit a header"}},{"name":"qs","spec":[{"name":"name","type":"text","label":"Name","required":true},{"name":"value","type":"text","label":"Value"}],"type":"array","label":"Query String","labels":{"add":"Add parameter","edit":"Edit parameter"}},{"name":"bodyType","type":"select","label":"Body type","validate":{"enum":["raw","x_www_form_urlencoded","multipart_form_data"]}},{"name":"parseResponse","type":"boolean","label":"Parse response","required":true},{"name":"authUser","type":"text","label":"User name"},{"name":"authPass","type":"password","label":"Password"},{"name":"timeout","type":"uinteger","label":"Timeout","validate":{"max":300,"min":1}},{"name":"shareCookies","type":"boolean","label":"Share cookies with other HTTP modules","required":true},{"name":"ca","type":"cert","label":"Self-signed certificate","multiline":true},{"name":"rejectUnauthorized","type":"boolean","label":"Reject connections that are using unverified (self-signed) certificates","required":true},{"name":"followRedirect","type":"boolean","label":"Follow redirect","required":true},{"name":"useQuerystring","type":"boolean","label":"Disable serialization of multiple same query string keys as arrays","required":true},{"name":"gzip","type":"boolean","label":"Request compressed content","required":true}],"restore":{"qs":{"mode":"chose","items":[]},"method":{"mode":"chose","label":"GET"},"headers":{"mode":"chose","items":[]},"bodyType":{"label":""}},"designer":{"x":0,"y":0},"parameters":[{"name":"handleErrors","type":"boolean","label":"Evaluate all states as errors (except for 2xx and 3xx )","required":true}]},"parameters":{"handleErrors":false}}],"name":"Integration of failing scenario","metadata":{"user":{"id":1},"version":1,"scenario":{"maxErrors":3,"autoCommit":true,"roundtrips":1}}},"company":1,"idSequence":3,"reason":"IP address is not valid."}}}}}}}},"/dlqs/{dlqId}/bundle":{"get":{"tags":["Incomplete executions"],"summary":"Get incomplete execution bundles","description":"Gets bundles that caused the incomplete execution.","security":[{"token":["dlqs:read"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"example":"a07e16f2ad134bf49cf83a00aa95c0a5","description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"response":{"type":"object"}}},"example":{"code":"OK","response":{"1":{"error":{"type":"InvalidConfigurationError","message":"IP address is not valid."}},"3":{"value":"Example error text."}}}}}}}}},"/dlqs/{dlqId}/logs":{"get":{"tags":["Incomplete executions"],"summary":"List incomplete executions logs","description":"Gets data about attempts to resolve an incomplete execution.","security":[{"token":["dlqs:read"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"example":"a07e16f2ad134bf49cf83a00aa95c0a5","description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`."},{"name":"status","in":"query","schema":{"type":"integer","enum":[1,2,3]},"description":"The status number of the incomplete execution. The status numbers correspond to the following statuses:\n\n- 1: success,\n - 2: warning,\n - 3: error.","example":3},{"name":"from","in":"query","schema":{"type":"integer","format":"timestamp"},"example":"1548975600000","description":"The moment from which you want to list the incomplete execution logs. The timestamp is in the [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) format."},{"name":"to","in":"query","schema":{"type":"integer","format":"timestamp"},"example":"1574782119387","description":"Limits the returned incomplete execution logs to those that were created before the specified moment. The timestamp is in the [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) format."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlqLogs":{"type":"array","items":{"type":"object","properties":{"imtId":{"type":"string"},"duration":{"type":"integer"},"transfer":{"type":"integer"},"operations":{"type":"integer"},"centicredits":{"type":"bigint"},"teamId":{"type":"integer"},"id":{"type":"string"},"type":{"type":"string"},"authorId":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer"},"instant":{"type":"boolean"},"organizationId":{"type":"integer"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"dlqLogs":[{"imtId":"1574777797796_dlq.a07e16f2ad134bf49cf83a00aa95c0a5.manual.f241ee9b0d344964a5ce54356b9ed98e","duration":728,"transfer":0,"operations":1,"centicredits":100,"teamId":1,"id":"f241ee9b0d344964a5ce54356b9ed98e","type":"manual","authorId":null,"timestamp":"2019-11-26T14:16:37.796Z","status":3},{"imtId":"1574777795371_dlq.a07e16f2ad134bf49cf83a00aa95c0a5.manual.7f65bad83eb74c899a70c76794d8afc3","duration":795,"transfer":0,"operations":1,"centicredits":100,"teamId":1,"id":"7f65bad83eb74c899a70c76794d8afc3","type":"manual","authorId":null,"timestamp":"2019-11-26T14:16:35.371Z","status":3}],"pg":{"sortBy":"imtId","sortDir":"desc","limit":50,"offset":0}}}}}}}},"/dlqs/{dlqId}/logs/{executionDlqId}":{"get":{"tags":["Incomplete executions"],"summary":"Incomplete execution log detail","description":"Gets detail of the specified incomplete execution log.","security":[{"token":["dlqs:read"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"example":"a07e16f2ad134bf49cf83a00aa95c0a5","description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`."},{"name":"executionDlqId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the incomplete execution log. Get the ID values of the incomplete execution logs with the API call `GET /dlqs/{dlqId}/logs`.","example":"1356b72d781649a18692a0d4d09cd977"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlqLog":{"type":"object","properties":{"imtId":{"type":"string"},"duration":{"type":"integer"},"transfer":{"type":"integer"},"operations":{"type":"integer"},"centicredits":{"type":"bigint"},"teamId":{"type":"integer"},"id":{"type":"string"},"type":{"type":"string"},"authorId":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer"},"instant":{"type":"boolean"},"organizationId":{"type":"integer"}}}}},"example":{"dlqLog":{"imtId":"1594117724361_dlq.00946714d6dd4a4cb091fe5435a8d197.manual.28a4794e85894c80a483777d6958160f","duration":1353,"operations":1,"centicredits":100,"transfer":87,"organizationId":1,"teamId":1,"id":"28a4794e85894c80a483777d6958160f","type":"manual","authorId":null,"instant":false,"timestamp":"2020-07-07T10:28:44.361Z","status":3}}}}}}}},"/dlqs/{dlqId}/retry":{"post":{"tags":["Incomplete executions"],"summary":"Retry incomplete execution","description":"Triggers a retry of the specified incomplete execution. The incomplete execution runs with the blueprint from when the error happened.\n\nIf you need to update the blueprint first, use the endpoint `PATCH /dlqs/{dlqId}`.\n","security":[{"token":["dlqs:write"]}],"parameters":[{"name":"dlqId","in":"path","schema":{"type":"string"},"required":true,"example":"a07e16f2ad134bf49cf83a00aa95c0a5","description":"The ID of the incomplete execution. Get the ID values of the incomplete executions of a scenario with the API call `GET /dlqs?scenarioId={scenarioId}`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlq":{"type":"string"}}},"example":{"dlq":"a07e16f2ad134bf49cf83a00aa95c0a5"}}}}}}},"/dlqs/retry":{"post":{"tags":["Incomplete executions"],"summary":"Retry multiple incomplete executions","description":"Triggers a retry of the specified incomplete executions. You can either use the `all` parameter to retry all incomplete executions of the scenario, or specify a list of incomplete execution IDs in the `ids` property.\n\nYou can use the `exceptIds` parameter to exclude incomplete executions from retrying.\n\nThe incomplete executions run with the blueprint from when the error happened. If you need to update the blueprint first, use the endpoint `PATCH /dlqs/{dlqId}`.\n\nMake puts the incomplete executions in a queue. If you are retrying a large number of incomplete executions, there might be a delay between receiving the response and Make retrying the incomplete execution.\n","security":[{"token":["dlqs:write"]}],"parameters":[{"name":"scenarioId","in":"query","schema":{"type":"integer"},"required":true,"example":112,"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/scenarios-get) API call."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The list of incomplete execution IDs you want to retry. All of the IDs have to belong to the same scenario."},"all":{"type":"boolean","description":"Set to `true` to retry all incomplete executions of the scenario."},"exceptIds":{"type":"array","items":{"type":"string"},"description":"You can use this parameter together with the `all` parameter to specify incomplete execution IDs which shouldn't be retried."}}},"examples":{"specify-ids":{"summary":"Retry multiple","description":"Retry multiple incomplete executions of a scenario. Specify the incomplete execution IDs in the `dlqs` array.","value":{"ids":["a07e16f2ad134bf49cf83a00aa95c0a5","mvrij98emciefm98cmemf345an18e8q3"]}},"all-except":{"summary":"Retry all","description":"Retry all incomplete executions of a scenario except for one.","value":{"all":true,"exceptIds":["mvrij98emciefm98cmemf345an18e8q3"]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dlqs":{"type":"array","items":{"type":"string"}}}},"examples":{"specify-ids":{"value":{"dlqs":["a07e16f2ad134bf49cf83a00aa95c0a5","mvrij98emciefm98cmemf345an18e8q3"]}},"all-except":{"value":{"dlqs":["a07e16f2ad134bf49cf83a00aa95c0a5","g14u43ajifei98mcsemcefmsi987e1s9"]}}}}}}}}},"/enums/module-types":{"get":{"tags":["Enums"],"summary":"List module types","description":"Gets the list of module types.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"moduleTypes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}},"example":{"moduleTypes":[{"id":2,"name":"transformer"},{"id":3,"name":"router"},{"id":5,"name":"listener"},{"id":6,"name":"feeder"},{"id":7,"name":"aggregator"},{"id":8,"name":"directive"},{"id":1,"name":"trigger"},{"id":4,"name":"action"},{"id":9,"name":"search"},{"id":10,"name":"instant"},{"id":11,"name":"responder"},{"id":12,"name":"universal"}]}}}}}}},"/enums/timezones":{"get":{"tags":["Enums"],"summary":"List timezones","description":"Gets the list of timezones and their `timezoneId` values.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"timezones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"offset":{"type":"string"}}}}}},"example":{"timezones":[{"id":226,"name":"(GMT-11:00) Pacific/Niue","code":"Pacific/Niue","offset":"-1100"},{"id":27,"name":"(GMT-11:00) Pacific/Pago_Pago","code":"Pacific/Pago_Pago","offset":"-1100"},{"id":328,"name":"(GMT-10:00) America/Adak","code":"America/Adak","offset":"-1000"},{"id":329,"name":"(GMT-10:00) Pacific/Honolulu","code":"Pacific/Honolulu","offset":"-1000"},{"id":101,"name":"(GMT-10:00) Pacific/Rarotonga","code":"Pacific/Rarotonga","offset":"-1000"},{"id":231,"name":"(GMT-10:00) Pacific/Tahiti","code":"Pacific/Tahiti","offset":"-1000"},{"id":232,"name":"(GMT-09:30) Pacific/Marquesas","code":"Pacific/Marquesas","offset":"-0930"},{"id":323,"name":"(GMT-09:00) America/Anchorage","code":"America/Anchorage","offset":"-0900"},{"id":324,"name":"(GMT-09:00) America/Juneau","code":"America/Juneau","offset":"-0900"},{"id":327,"name":"(GMT-09:00) America/Nome","code":"America/Nome","offset":"-0900"},{"id":325,"name":"(GMT-09:00) America/Sitka","code":"America/Sitka","offset":"-0900"},{"id":326,"name":"(GMT-09:00) America/Yakutat","code":"America/Yakutat","offset":"-0900"},{"id":233,"name":"(GMT-09:00) Pacific/Gambier","code":"Pacific/Gambier","offset":"-0900"},{"id":97,"name":"(GMT-08:00) America/Dawson","code":"America/Dawson","offset":"-0800"},{"id":321,"name":"(GMT-08:00) America/Los_Angeles","code":"America/Los_Angeles","offset":"-0800"},{"id":322,"name":"(GMT-08:00) America/Metlakatla","code":"America/Metlakatla","offset":"-0800"},{"id":212,"name":"(GMT-08:00) America/Santa_Isabel","code":"America/Santa_Isabel","offset":"-0800"},{"id":211,"name":"(GMT-08:00) America/Tijuana","code":"America/Tijuana","offset":"-0800"},{"id":95,"name":"(GMT-08:00) America/Vancouver","code":"America/Vancouver","offset":"-0800"},{"id":96,"name":"(GMT-08:00) America/Whitehorse","code":"America/Whitehorse","offset":"-0800"},{"id":240,"name":"(GMT-08:00) Pacific/Pitcairn","code":"Pacific/Pitcairn","offset":"-0800"},{"id":319,"name":"(GMT-07:00) America/Boise","code":"America/Boise","offset":"-0700"},{"id":89,"name":"(GMT-07:00) America/Cambridge_Bay","code":"America/Cambridge_Bay","offset":"-0700"},{"id":208,"name":"(GMT-07:00) America/Chihuahua","code":"America/Chihuahua","offset":"-0700"},{"id":92,"name":"(GMT-07:00) America/Creston","code":"America/Creston","offset":"-0700"},{"id":93,"name":"(GMT-07:00) America/Dawson_Creek","code":"America/Dawson_Creek","offset":"-0700"},{"id":318,"name":"(GMT-07:00) America/Denver","code":"America/Denver","offset":"-0700"},{"id":88,"name":"(GMT-07:00) America/Edmonton","code":"America/Edmonton","offset":"-0700"},{"id":94,"name":"(GMT-07:00) America/Fort_Nelson","code":"America/Fort_Nelson","offset":"-0700"},{"id":210,"name":"(GMT-07:00) America/Hermosillo","code":"America/Hermosillo","offset":"-0700"},{"id":91,"name":"(GMT-07:00) America/Inuvik","code":"America/Inuvik","offset":"-0700"},{"id":207,"name":"(GMT-07:00) America/Mazatlan","code":"America/Mazatlan","offset":"-0700"},{"id":209,"name":"(GMT-07:00) America/Ojinaga","code":"America/Ojinaga","offset":"-0700"},{"id":320,"name":"(GMT-07:00) America/Phoenix","code":"America/Phoenix","offset":"-0700"},{"id":90,"name":"(GMT-07:00) America/Yellowknife","code":"America/Yellowknife","offset":"-0700"},{"id":213,"name":"(GMT-06:00) America/Bahia_Banderas","code":"America/Bahia_Banderas","offset":"-0600"},{"id":69,"name":"(GMT-06:00) America/Belize","code":"America/Belize","offset":"-0600"},{"id":203,"name":"(GMT-06:00) America/Cancun","code":"America/Cancun","offset":"-0600"},{"id":311,"name":"(GMT-06:00) America/Chicago","code":"America/Chicago","offset":"-0600"},{"id":107,"name":"(GMT-06:00) America/Costa_Rica","code":"America/Costa_Rica","offset":"-0600"},{"id":281,"name":"(GMT-06:00) America/El_Salvador","code":"America/El_Salvador","offset":"-0600"},{"id":145,"name":"(GMT-06:00) America/Guatemala","code":"America/Guatemala","offset":"-0600"},{"id":313,"name":"(GMT-06:00) America/Indiana/Knox","code":"America/Indiana/Knox","offset":"-0600"},{"id":312,"name":"(GMT-06:00) America/Indiana/Tell_City","code":"America/Indiana/Tell_City","offset":"-0600"},{"id":221,"name":"(GMT-06:00) America/Managua","code":"America/Managua","offset":"-0600"},{"id":206,"name":"(GMT-06:00) America/Matamoros","code":"America/Matamoros","offset":"-0600"},{"id":314,"name":"(GMT-06:00) America/Menominee","code":"America/Menominee","offset":"-0600"},{"id":204,"name":"(GMT-06:00) America/Merida","code":"America/Merida","offset":"-0600"},{"id":202,"name":"(GMT-06:00) America/Mexico_City","code":"America/Mexico_City","offset":"-0600"},{"id":205,"name":"(GMT-06:00) America/Monterrey","code":"America/Monterrey","offset":"-0600"},{"id":317,"name":"(GMT-06:00) America/North_Dakota/Beulah","code":"America/North_Dakota/Beulah","offset":"-0600"},{"id":315,"name":"(GMT-06:00) America/North_Dakota/Center","code":"America/North_Dakota/Center","offset":"-0600"},{"id":316,"name":"(GMT-06:00) America/North_Dakota/New_Salem","code":"America/North_Dakota/New_Salem","offset":"-0600"},{"id":85,"name":"(GMT-06:00) America/Rainy_River","code":"America/Rainy_River","offset":"-0600"},{"id":83,"name":"(GMT-06:00) America/Rankin_Inlet","code":"America/Rankin_Inlet","offset":"-0600"},{"id":86,"name":"(GMT-06:00) America/Regina","code":"America/Regina","offset":"-0600"},{"id":81,"name":"(GMT-06:00) America/Resolute","code":"America/Resolute","offset":"-0600"},{"id":87,"name":"(GMT-06:00) America/Swift_Current","code":"America/Swift_Current","offset":"-0600"},{"id":150,"name":"(GMT-06:00) America/Tegucigalpa","code":"America/Tegucigalpa","offset":"-0600"},{"id":84,"name":"(GMT-06:00) America/Winnipeg","code":"America/Winnipeg","offset":"-0600"},{"id":103,"name":"(GMT-06:00) Pacific/Easter","code":"Pacific/Easter","offset":"-0600"},{"id":119,"name":"(GMT-06:00) Pacific/Galapagos","code":"Pacific/Galapagos","offset":"-0600"},{"id":82,"name":"(GMT-05:00) America/Atikokan","code":"America/Atikokan","offset":"-0500"},{"id":106,"name":"(GMT-05:00) America/Bogota","code":"America/Bogota","offset":"-0500"},{"id":175,"name":"(GMT-05:00) America/Cayman","code":"America/Cayman","offset":"-0500"},{"id":302,"name":"(GMT-05:00) America/Detroit","code":"America/Detroit","offset":"-0500"},{"id":64,"name":"(GMT-05:00) America/Eirunepe","code":"America/Eirunepe","offset":"-0500"},{"id":283,"name":"(GMT-05:00) America/Grand_Turk","code":"America/Grand_Turk","offset":"-0500"},{"id":118,"name":"(GMT-05:00) America/Guayaquil","code":"America/Guayaquil","offset":"-0500"},{"id":108,"name":"(GMT-05:00) America/Havana","code":"America/Havana","offset":"-0500"},{"id":305,"name":"(GMT-05:00) America/Indiana/Indianapolis","code":"America/Indiana/Indianapolis","offset":"-0500"},{"id":308,"name":"(GMT-05:00) America/Indiana/Marengo","code":"America/Indiana/Marengo","offset":"-0500"},{"id":309,"name":"(GMT-05:00) America/Indiana/Petersburg","code":"America/Indiana/Petersburg","offset":"-0500"},{"id":310,"name":"(GMT-05:00) America/Indiana/Vevay","code":"America/Indiana/Vevay","offset":"-0500"},{"id":306,"name":"(GMT-05:00) America/Indiana/Vincennes","code":"America/Indiana/Vincennes","offset":"-0500"},{"id":307,"name":"(GMT-05:00) America/Indiana/Winamac","code":"America/Indiana/Winamac","offset":"-0500"},{"id":79,"name":"(GMT-05:00) America/Iqaluit","code":"America/Iqaluit","offset":"-0500"},{"id":165,"name":"(GMT-05:00) America/Jamaica","code":"America/Jamaica","offset":"-0500"},{"id":303,"name":"(GMT-05:00) America/Kentucky/Louisville","code":"America/Kentucky/Louisville","offset":"-0500"},{"id":304,"name":"(GMT-05:00) America/Kentucky/Monticello","code":"America/Kentucky/Monticello","offset":"-0500"},{"id":230,"name":"(GMT-05:00) America/Lima","code":"America/Lima","offset":"-0500"},{"id":66,"name":"(GMT-05:00) America/Nassau","code":"America/Nassau","offset":"-0500"},{"id":301,"name":"(GMT-05:00) America/New_York","code":"America/New_York","offset":"-0500"},{"id":77,"name":"(GMT-05:00) America/Nipigon","code":"America/Nipigon","offset":"-0500"},{"id":229,"name":"(GMT-05:00) America/Panama","code":"America/Panama","offset":"-0500"},{"id":80,"name":"(GMT-05:00) America/Pangnirtung","code":"America/Pangnirtung","offset":"-0500"},{"id":151,"name":"(GMT-05:00) America/Port-au-Prince","code":"America/Port-au-Prince","offset":"-0500"},{"id":65,"name":"(GMT-05:00) America/Rio_Branco","code":"America/Rio_Branco","offset":"-0500"},{"id":78,"name":"(GMT-05:00) America/Thunder_Bay","code":"America/Thunder_Bay","offset":"-0500"},{"id":76,"name":"(GMT-05:00) America/Toronto","code":"America/Toronto","offset":"-0500"},{"id":333,"name":"(GMT-04:30) America/Caracas","code":"America/Caracas","offset":"-0430"},{"id":248,"name":"(GMT-04:00) America/Asuncion","code":"America/Asuncion","offset":"-0400"},{"id":43,"name":"(GMT-04:00) America/Barbados","code":"America/Barbados","offset":"-0400"},{"id":75,"name":"(GMT-04:00) America/Blanc-Sablon","code":"America/Blanc-Sablon","offset":"-0400"},{"id":62,"name":"(GMT-04:00) America/Boa_Vista","code":"America/Boa_Vista","offset":"-0400"},{"id":58,"name":"(GMT-04:00) America/Campo_Grande","code":"America/Campo_Grande","offset":"-0400"},{"id":59,"name":"(GMT-04:00) America/Cuiaba","code":"America/Cuiaba","offset":"-0400"},{"id":110,"name":"(GMT-04:00) America/Curacao","code":"America/Curacao","offset":"-0400"},{"id":72,"name":"(GMT-04:00) America/Glace_Bay","code":"America/Glace_Bay","offset":"-0400"},{"id":74,"name":"(GMT-04:00) America/Goose_Bay","code":"America/Goose_Bay","offset":"-0400"},{"id":148,"name":"(GMT-04:00) America/Guyana","code":"America/Guyana","offset":"-0400"},{"id":71,"name":"(GMT-04:00) America/Halifax","code":"America/Halifax","offset":"-0400"},{"id":49,"name":"(GMT-04:00) America/La_Paz","code":"America/La_Paz","offset":"-0400"},{"id":63,"name":"(GMT-04:00) America/Manaus","code":"America/Manaus","offset":"-0400"},{"id":198,"name":"(GMT-04:00) America/Martinique","code":"America/Martinique","offset":"-0400"},{"id":73,"name":"(GMT-04:00) America/Moncton","code":"America/Moncton","offset":"-0400"},{"id":294,"name":"(GMT-04:00) America/Port_of_Spain","code":"America/Port_of_Spain","offset":"-0400"},{"id":61,"name":"(GMT-04:00) America/Porto_Velho","code":"America/Porto_Velho","offset":"-0400"},{"id":241,"name":"(GMT-04:00) America/Puerto_Rico","code":"America/Puerto_Rico","offset":"-0400"},{"id":116,"name":"(GMT-04:00) America/Santo_Domingo","code":"America/Santo_Domingo","offset":"-0400"},{"id":142,"name":"(GMT-04:00) America/Thule","code":"America/Thule","offset":"-0400"},{"id":7,"name":"(GMT-04:00) Antarctica/Palmer","code":"Antarctica/Palmer","offset":"-0400"},{"id":47,"name":"(GMT-04:00) Atlantic/Bermuda","code":"Atlantic/Bermuda","offset":"-0400"},{"id":70,"name":"(GMT-03:30) America/St_Johns","code":"America/St_Johns","offset":"-0330"},{"id":54,"name":"(GMT-03:00) America/Araguaina","code":"America/Araguaina","offset":"-0300"},{"id":15,"name":"(GMT-03:00) America/Argentina/Buenos_Aires","code":"America/Argentina/Buenos_Aires","offset":"-0300"},{"id":20,"name":"(GMT-03:00) America/Argentina/Catamarca","code":"America/Argentina/Catamarca","offset":"-0300"},{"id":16,"name":"(GMT-03:00) America/Argentina/Cordoba","code":"America/Argentina/Cordoba","offset":"-0300"},{"id":18,"name":"(GMT-03:00) America/Argentina/Jujuy","code":"America/Argentina/Jujuy","offset":"-0300"},{"id":21,"name":"(GMT-03:00) America/Argentina/La_Rioja","code":"America/Argentina/La_Rioja","offset":"-0300"},{"id":23,"name":"(GMT-03:00) America/Argentina/Mendoza","code":"America/Argentina/Mendoza","offset":"-0300"},{"id":25,"name":"(GMT-03:00) America/Argentina/Rio_Gallegos","code":"America/Argentina/Rio_Gallegos","offset":"-0300"},{"id":17,"name":"(GMT-03:00) America/Argentina/Salta","code":"America/Argentina/Salta","offset":"-0300"},{"id":22,"name":"(GMT-03:00) America/Argentina/San_Juan","code":"America/Argentina/San_Juan","offset":"-0300"},{"id":24,"name":"(GMT-03:00) America/Argentina/San_Luis","code":"America/Argentina/San_Luis","offset":"-0300"},{"id":19,"name":"(GMT-03:00) America/Argentina/Tucuman","code":"America/Argentina/Tucuman","offset":"-0300"},{"id":26,"name":"(GMT-03:00) America/Argentina/Ushuaia","code":"America/Argentina/Ushuaia","offset":"-0300"},{"id":56,"name":"(GMT-03:00) America/Bahia","code":"America/Bahia","offset":"-0300"},{"id":51,"name":"(GMT-03:00) America/Belem","code":"America/Belem","offset":"-0300"},{"id":136,"name":"(GMT-03:00) America/Cayenne","code":"America/Cayenne","offset":"-0300"},{"id":52,"name":"(GMT-03:00) America/Fortaleza","code":"America/Fortaleza","offset":"-0300"},{"id":139,"name":"(GMT-03:00) America/Godthab","code":"America/Godthab","offset":"-0300"},{"id":55,"name":"(GMT-03:00) America/Maceio","code":"America/Maceio","offset":"-0300"},{"id":239,"name":"(GMT-03:00) America/Miquelon","code":"America/Miquelon","offset":"-0300"},{"id":330,"name":"(GMT-03:00) America/Montevideo","code":"America/Montevideo","offset":"-0300"},{"id":280,"name":"(GMT-03:00) America/Paramaribo","code":"America/Paramaribo","offset":"-0300"},{"id":53,"name":"(GMT-03:00) America/Recife","code":"America/Recife","offset":"-0300"},{"id":60,"name":"(GMT-03:00) America/Santarem","code":"America/Santarem","offset":"-0300"},{"id":102,"name":"(GMT-03:00) America/Santiago","code":"America/Santiago","offset":"-0300"},{"id":57,"name":"(GMT-03:00) America/Sao_Paulo","code":"America/Sao_Paulo","offset":"-0300"},{"id":6,"name":"(GMT-03:00) Antarctica/Rothera","code":"Antarctica/Rothera","offset":"-0300"},{"id":128,"name":"(GMT-03:00) Atlantic/Stanley","code":"Atlantic/Stanley","offset":"-0300"},{"id":50,"name":"(GMT-02:00) America/Noronha","code":"America/Noronha","offset":"-0200"},{"id":144,"name":"(GMT-02:00) Atlantic/South_Georgia","code":"Atlantic/South_Georgia","offset":"-0200"},{"id":141,"name":"(GMT-01:00) America/Scoresbysund","code":"America/Scoresbysund","offset":"-0100"},{"id":246,"name":"(GMT-01:00) Atlantic/Azores","code":"Atlantic/Azores","offset":"-0100"},{"id":109,"name":"(GMT-01:00) Atlantic/Cape_Verde","code":"Atlantic/Cape_Verde","offset":"-0100"},{"id":100,"name":"(GMT+00:00) Africa/Abidjan","code":"Africa/Abidjan","offset":"+0000"},{"id":137,"name":"(GMT+00:00) Africa/Accra","code":"Africa/Accra","offset":"+0000"},{"id":147,"name":"(GMT+00:00) Africa/Bissau","code":"Africa/Bissau","offset":"+0000"},{"id":188,"name":"(GMT+00:00) Africa/Casablanca","code":"Africa/Casablanca","offset":"+0000"},{"id":122,"name":"(GMT+00:00) Africa/El_Aaiun","code":"Africa/El_Aaiun","offset":"+0000"},{"id":183,"name":"(GMT+00:00) Africa/Monrovia","code":"Africa/Monrovia","offset":"+0000"},{"id":140,"name":"(GMT+00:00) America/Danmarkshavn","code":"America/Danmarkshavn","offset":"+0000"},{"id":14,"name":"(GMT+00:00) Antarctica/Troll","code":"Antarctica/Troll","offset":"+0000"},{"id":125,"name":"(GMT+00:00) Atlantic/Canary","code":"Atlantic/Canary","offset":"+0000"},{"id":132,"name":"(GMT+00:00) Atlantic/Faroe","code":"Atlantic/Faroe","offset":"+0000"},{"id":245,"name":"(GMT+00:00) Atlantic/Madeira","code":"Atlantic/Madeira","offset":"+0000"},{"id":163,"name":"(GMT+00:00) Atlantic/Reykjavik","code":"Atlantic/Reykjavik","offset":"+0000"},{"id":157,"name":"(GMT+00:00) Europe/Dublin","code":"Europe/Dublin","offset":"+0000"},{"id":244,"name":"(GMT+00:00) Europe/Lisbon","code":"Europe/Lisbon","offset":"+0000"},{"id":134,"name":"(GMT+00:00) Europe/London","code":"Europe/London","offset":"+0000"},{"id":117,"name":"(GMT+01:00) Africa/Algiers","code":"Africa/Algiers","offset":"+0100"},{"id":124,"name":"(GMT+01:00) Africa/Ceuta","code":"Africa/Ceuta","offset":"+0100"},{"id":220,"name":"(GMT+01:00) Africa/Lagos","code":"Africa/Lagos","offset":"+0100"},{"id":284,"name":"(GMT+01:00) Africa/Ndjamena","code":"Africa/Ndjamena","offset":"+0100"},{"id":291,"name":"(GMT+01:00) Africa/Tunis","code":"Africa/Tunis","offset":"+0100"},{"id":217,"name":"(GMT+01:00) Africa/Windhoek","code":"Africa/Windhoek","offset":"+0100"},{"id":222,"name":"(GMT+01:00) Europe/Amsterdam","code":"Europe/Amsterdam","offset":"+0100"},{"id":1,"name":"(GMT+01:00) Europe/Andorra","code":"Europe/Andorra","offset":"+0100"},{"id":252,"name":"(GMT+01:00) Europe/Belgrade","code":"Europe/Belgrade","offset":"+0100"},{"id":114,"name":"(GMT+01:00) Europe/Berlin","code":"Europe/Berlin","offset":"+0100"},{"id":45,"name":"(GMT+01:00) Europe/Brussels","code":"Europe/Brussels","offset":"+0100"},{"id":152,"name":"(GMT+01:00) Europe/Budapest","code":"Europe/Budapest","offset":"+0100"},{"id":115,"name":"(GMT+01:00) Europe/Copenhagen","code":"Europe/Copenhagen","offset":"+0100"},{"id":138,"name":"(GMT+01:00) Europe/Gibraltar","code":"Europe/Gibraltar","offset":"+0100"},{"id":185,"name":"(GMT+01:00) Europe/Luxembourg","code":"Europe/Luxembourg","offset":"+0100"},{"id":123,"name":"(GMT+01:00) Europe/Madrid","code":"Europe/Madrid","offset":"+0100"},{"id":199,"name":"(GMT+01:00) Europe/Malta","code":"Europe/Malta","offset":"+0100"},{"id":189,"name":"(GMT+01:00) Europe/Monaco","code":"Europe/Monaco","offset":"+0100"},{"id":223,"name":"(GMT+01:00) Europe/Oslo","code":"Europe/Oslo","offset":"+0100"},{"id":133,"name":"(GMT+01:00) Europe/Paris","code":"Europe/Paris","offset":"+0100"},{"id":113,"name":"(GMT+01:00) Europe/Prague","code":"Europe/Prague","offset":"+0100"},{"id":164,"name":"(GMT+01:00) Europe/Rome","code":"Europe/Rome","offset":"+0100"},{"id":278,"name":"(GMT+01:00) Europe/Stockholm","code":"Europe/Stockholm","offset":"+0100"},{"id":4,"name":"(GMT+01:00) Europe/Tirane","code":"Europe/Tirane","offset":"+0100"},{"id":28,"name":"(GMT+01:00) Europe/Vienna","code":"Europe/Vienna","offset":"+0100"},{"id":238,"name":"(GMT+01:00) Europe/Warsaw","code":"Europe/Warsaw","offset":"+0100"},{"id":99,"name":"(GMT+01:00) Europe/Zurich","code":"Europe/Zurich","offset":"+0100"},{"id":121,"name":"(GMT+02:00) Africa/Cairo","code":"Africa/Cairo","offset":"+0200"},{"id":338,"name":"(GMT+02:00) Africa/Johannesburg","code":"Africa/Johannesburg","offset":"+0200"},{"id":216,"name":"(GMT+02:00) Africa/Maputo","code":"Africa/Maputo","offset":"+0200"},{"id":187,"name":"(GMT+02:00) Africa/Tripoli","code":"Africa/Tripoli","offset":"+0200"},{"id":166,"name":"(GMT+02:00) Asia/Amman","code":"Asia/Amman","offset":"+0200"},{"id":181,"name":"(GMT+02:00) Asia/Beirut","code":"Asia/Beirut","offset":"+0200"},{"id":282,"name":"(GMT+02:00) Asia/Damascus","code":"Asia/Damascus","offset":"+0200"},{"id":242,"name":"(GMT+02:00) Asia/Gaza","code":"Asia/Gaza","offset":"+0200"},{"id":243,"name":"(GMT+02:00) Asia/Hebron","code":"Asia/Hebron","offset":"+0200"},{"id":158,"name":"(GMT+02:00) Asia/Jerusalem","code":"Asia/Jerusalem","offset":"+0200"},{"id":112,"name":"(GMT+02:00) Asia/Nicosia","code":"Asia/Nicosia","offset":"+0200"},{"id":143,"name":"(GMT+02:00) Europe/Athens","code":"Europe/Athens","offset":"+0200"},{"id":251,"name":"(GMT+02:00) Europe/Bucharest","code":"Europe/Bucharest","offset":"+0200"},{"id":190,"name":"(GMT+02:00) Europe/Chisinau","code":"Europe/Chisinau","offset":"+0200"},{"id":126,"name":"(GMT+02:00) Europe/Helsinki","code":"Europe/Helsinki","offset":"+0200"},{"id":293,"name":"(GMT+02:00) Europe/Istanbul","code":"Europe/Istanbul","offset":"+0200"},{"id":253,"name":"(GMT+02:00) Europe/Kaliningrad","code":"Europe/Kaliningrad","offset":"+0200"},{"id":297,"name":"(GMT+02:00) Europe/Kyiv","code":"Europe/Kyiv","offset":"+0200"},{"id":186,"name":"(GMT+02:00) Europe/Riga","code":"Europe/Riga","offset":"+0200"},{"id":46,"name":"(GMT+02:00) Europe/Sofia","code":"Europe/Sofia","offset":"+0200"},{"id":120,"name":"(GMT+02:00) Europe/Tallinn","code":"Europe/Tallinn","offset":"+0200"},{"id":298,"name":"(GMT+02:00) Europe/Uzhgorod","code":"Europe/Uzhgorod","offset":"+0200"},{"id":184,"name":"(GMT+02:00) Europe/Vilnius","code":"Europe/Vilnius","offset":"+0200"},{"id":299,"name":"(GMT+02:00) Europe/Zaporozhye","code":"Europe/Zaporozhye","offset":"+0200"},{"id":277,"name":"(GMT+03:00) Africa/Khartoum","code":"Africa/Khartoum","offset":"+0300"},{"id":168,"name":"(GMT+03:00) Africa/Nairobi","code":"Africa/Nairobi","offset":"+0300"},{"id":13,"name":"(GMT+03:00) Antarctica/Syowa","code":"Antarctica/Syowa","offset":"+0300"},{"id":161,"name":"(GMT+03:00) Asia/Baghdad","code":"Asia/Baghdad","offset":"+0300"},{"id":249,"name":"(GMT+03:00) Asia/Qatar","code":"Asia/Qatar","offset":"+0300"},{"id":274,"name":"(GMT+03:00) Asia/Riyadh","code":"Asia/Riyadh","offset":"+0300"},{"id":68,"name":"(GMT+03:00) Europe/Minsk","code":"Europe/Minsk","offset":"+0300"},{"id":254,"name":"(GMT+03:00) Europe/Moscow","code":"Europe/Moscow","offset":"+0300"},{"id":255,"name":"(GMT+03:00) Europe/Simferopol","code":"Europe/Simferopol","offset":"+0300"},{"id":256,"name":"(GMT+03:00) Europe/Volgograd","code":"Europe/Volgograd","offset":"+0300"},{"id":162,"name":"(GMT+03:30) Asia/Tehran","code":"Asia/Tehran","offset":"+0330"},{"id":42,"name":"(GMT+04:00) Asia/Baku","code":"Asia/Baku","offset":"+0400"},{"id":2,"name":"(GMT+04:00) Asia/Dubai","code":"Asia/Dubai","offset":"+0400"},{"id":135,"name":"(GMT+04:00) Asia/Tbilisi","code":"Asia/Tbilisi","offset":"+0400"},{"id":5,"name":"(GMT+04:00) Asia/Yerevan","code":"Asia/Yerevan","offset":"+0400"},{"id":257,"name":"(GMT+04:00) Europe/Samara","code":"Europe/Samara","offset":"+0400"},{"id":276,"name":"(GMT+04:00) Indian/Mahe","code":"Indian/Mahe","offset":"+0400"},{"id":200,"name":"(GMT+04:00) Indian/Mauritius","code":"Indian/Mauritius","offset":"+0400"},{"id":250,"name":"(GMT+04:00) Indian/Reunion","code":"Indian/Reunion","offset":"+0400"},{"id":3,"name":"(GMT+04:30) Asia/Kabul","code":"Asia/Kabul","offset":"+0430"},{"id":9,"name":"(GMT+05:00) Antarctica/Davis","code":"Antarctica/Davis","offset":"+0500"},{"id":8,"name":"(GMT+05:00) Antarctica/Mawson","code":"Antarctica/Mawson","offset":"+0500"},{"id":179,"name":"(GMT+05:00) Asia/Aqtau","code":"Asia/Aqtau","offset":"+0500"},{"id":178,"name":"(GMT+05:00) Asia/Aqtobe","code":"Asia/Aqtobe","offset":"+0500"},{"id":290,"name":"(GMT+05:00) Asia/Ashgabat","code":"Asia/Ashgabat","offset":"+0500"},{"id":287,"name":"(GMT+05:00) Asia/Dushanbe","code":"Asia/Dushanbe","offset":"+0500"},{"id":237,"name":"(GMT+05:00) Asia/Karachi","code":"Asia/Karachi","offset":"+0500"},{"id":180,"name":"(GMT+05:00) Asia/Oral","code":"Asia/Oral","offset":"+0500"},{"id":331,"name":"(GMT+05:00) Asia/Samarkand","code":"Asia/Samarkand","offset":"+0500"},{"id":332,"name":"(GMT+05:00) Asia/Tashkent","code":"Asia/Tashkent","offset":"+0500"},{"id":258,"name":"(GMT+05:00) Asia/Yekaterinburg","code":"Asia/Yekaterinburg","offset":"+0500"},{"id":285,"name":"(GMT+05:00) Indian/Kerguelen","code":"Indian/Kerguelen","offset":"+0500"},{"id":201,"name":"(GMT+05:00) Indian/Maldives","code":"Indian/Maldives","offset":"+0500"},{"id":182,"name":"(GMT+05:30) Asia/Colombo","code":"Asia/Colombo","offset":"+0530"},{"id":159,"name":"(GMT+05:30) Asia/Kolkata","code":"Asia/Kolkata","offset":"+0530"},{"id":224,"name":"(GMT+05:45) Asia/Kathmandu","code":"Asia/Kathmandu","offset":"+0545"},{"id":11,"name":"(GMT+06:00) Antarctica/Vostok","code":"Antarctica/Vostok","offset":"+0600"},{"id":176,"name":"(GMT+06:00) Asia/Almaty","code":"Asia/Almaty","offset":"+0600"},{"id":169,"name":"(GMT+06:00) Asia/Bishkek","code":"Asia/Bishkek","offset":"+0600"},{"id":44,"name":"(GMT+06:00) Asia/Dhaka","code":"Asia/Dhaka","offset":"+0600"},{"id":260,"name":"(GMT+06:00) Asia/Novosibirsk","code":"Asia/Novosibirsk","offset":"+0600"},{"id":259,"name":"(GMT+06:00) Asia/Omsk","code":"Asia/Omsk","offset":"+0600"},{"id":177,"name":"(GMT+06:00) Asia/Qyzylorda","code":"Asia/Qyzylorda","offset":"+0600"},{"id":67,"name":"(GMT+06:00) Asia/Thimphu","code":"Asia/Thimphu","offset":"+0600"},{"id":160,"name":"(GMT+06:00) Indian/Chagos","code":"Indian/Chagos","offset":"+0600"},{"id":193,"name":"(GMT+06:30) Asia/Rangoon","code":"Asia/Rangoon","offset":"+0630"},{"id":98,"name":"(GMT+06:30) Indian/Cocos","code":"Indian/Cocos","offset":"+0630"},{"id":286,"name":"(GMT+07:00) Asia/Bangkok","code":"Asia/Bangkok","offset":"+0700"},{"id":334,"name":"(GMT+07:00) Asia/Ho_Chi_Minh","code":"Asia/Ho_Chi_Minh","offset":"+0700"},{"id":195,"name":"(GMT+07:00) Asia/Hovd","code":"Asia/Hovd","offset":"+0700"},{"id":153,"name":"(GMT+07:00) Asia/Jakarta","code":"Asia/Jakarta","offset":"+0700"},{"id":262,"name":"(GMT+07:00) Asia/Krasnoyarsk","code":"Asia/Krasnoyarsk","offset":"+0700"},{"id":261,"name":"(GMT+07:00) Asia/Novokuznetsk","code":"Asia/Novokuznetsk","offset":"+0700"},{"id":154,"name":"(GMT+07:00) Asia/Pontianak","code":"Asia/Pontianak","offset":"+0700"},{"id":111,"name":"(GMT+07:00) Indian/Christmas","code":"Indian/Christmas","offset":"+0700"},{"id":48,"name":"(GMT+08:00) Asia/Brunei","code":"Asia/Brunei","offset":800},{"id":264,"name":"(GMT+08:00) Asia/Chita","code":"Asia/Chita","offset":800},{"id":196,"name":"(GMT+08:00) Asia/Choibalsan","code":"Asia/Choibalsan","offset":800},{"id":149,"name":"(GMT+08:00) Asia/Hong_Kong","code":"Asia/Hong_Kong","offset":800},{"id":263,"name":"(GMT+08:00) Asia/Irkutsk","code":"Asia/Irkutsk","offset":800},{"id":214,"name":"(GMT+08:00) Asia/Kuala_Lumpur","code":"Asia/Kuala_Lumpur","offset":800},{"id":215,"name":"(GMT+08:00) Asia/Kuching","code":"Asia/Kuching","offset":800},{"id":197,"name":"(GMT+08:00) Asia/Macau","code":"Asia/Macau","offset":800},{"id":155,"name":"(GMT+08:00) Asia/Makassar","code":"Asia/Makassar","offset":800},{"id":236,"name":"(GMT+08:00) Asia/Manila","code":"Asia/Manila","offset":800},{"id":104,"name":"(GMT+08:00) Asia/Shanghai","code":"Asia/Shanghai","offset":800},{"id":279,"name":"(GMT+08:00) Asia/Singapore","code":"Asia/Singapore","offset":800},{"id":296,"name":"(GMT+08:00) Asia/Taipei","code":"Asia/Taipei","offset":800},{"id":194,"name":"(GMT+08:00) Asia/Ulaanbaatar","code":"Asia/Ulaanbaatar","offset":800},{"id":105,"name":"(GMT+08:00) Asia/Urumqi","code":"Asia/Urumqi","offset":800},{"id":40,"name":"(GMT+08:00) Australia/Perth","code":"Australia/Perth","offset":800},{"id":173,"name":"(GMT+08:30) Asia/Pyongyang","code":"Asia/Pyongyang","offset":830},{"id":41,"name":"(GMT+08:45) Australia/Eucla","code":"Australia/Eucla","offset":845},{"id":289,"name":"(GMT+09:00) Asia/Dili","code":"Asia/Dili","offset":900},{"id":156,"name":"(GMT+09:00) Asia/Jayapura","code":"Asia/Jayapura","offset":900},{"id":266,"name":"(GMT+09:00) Asia/Khandyga","code":"Asia/Khandyga","offset":900},{"id":174,"name":"(GMT+09:00) Asia/Seoul","code":"Asia/Seoul","offset":900},{"id":167,"name":"(GMT+09:00) Asia/Tokyo","code":"Asia/Tokyo","offset":900},{"id":265,"name":"(GMT+09:00) Asia/Yakutsk","code":"Asia/Yakutsk","offset":900},{"id":247,"name":"(GMT+09:00) Pacific/Palau","code":"Pacific/Palau","offset":900},{"id":38,"name":"(GMT+09:30) Australia/Adelaide","code":"Australia/Adelaide","offset":930},{"id":35,"name":"(GMT+09:30) Australia/Broken_Hill","code":"Australia/Broken_Hill","offset":930},{"id":39,"name":"(GMT+09:30) Australia/Darwin","code":"Australia/Darwin","offset":930},{"id":12,"name":"(GMT+10:00) Antarctica/DumontDUrville","code":"Antarctica/DumontDUrville","offset":"+1000"},{"id":270,"name":"(GMT+10:00) Asia/Magadan","code":"Asia/Magadan","offset":"+1000"},{"id":269,"name":"(GMT+10:00) Asia/Ust-Nera","code":"Asia/Ust-Nera","offset":"+1000"},{"id":267,"name":"(GMT+10:00) Asia/Vladivostok","code":"Asia/Vladivostok","offset":"+1000"},{"id":36,"name":"(GMT+10:00) Australia/Brisbane","code":"Australia/Brisbane","offset":"+1000"},{"id":32,"name":"(GMT+10:00) Australia/Currie","code":"Australia/Currie","offset":"+1000"},{"id":31,"name":"(GMT+10:00) Australia/Hobart","code":"Australia/Hobart","offset":"+1000"},{"id":37,"name":"(GMT+10:00) Australia/Lindeman","code":"Australia/Lindeman","offset":"+1000"},{"id":33,"name":"(GMT+10:00) Australia/Melbourne","code":"Australia/Melbourne","offset":"+1000"},{"id":34,"name":"(GMT+10:00) Australia/Sydney","code":"Australia/Sydney","offset":"+1000"},{"id":129,"name":"(GMT+10:00) Pacific/Chuuk","code":"Pacific/Chuuk","offset":"+1000"},{"id":146,"name":"(GMT+10:00) Pacific/Guam","code":"Pacific/Guam","offset":"+1000"},{"id":234,"name":"(GMT+10:00) Pacific/Port_Moresby","code":"Pacific/Port_Moresby","offset":"+1000"},{"id":29,"name":"(GMT+10:30) Australia/Lord_Howe","code":"Australia/Lord_Howe","offset":"+1030"},{"id":10,"name":"(GMT+11:00) Antarctica/Casey","code":"Antarctica/Casey","offset":"+1100"},{"id":30,"name":"(GMT+11:00) Antarctica/Macquarie","code":"Antarctica/Macquarie","offset":"+1100"},{"id":268,"name":"(GMT+11:00) Asia/Sakhalin","code":"Asia/Sakhalin","offset":"+1100"},{"id":271,"name":"(GMT+11:00) Asia/Srednekolymsk","code":"Asia/Srednekolymsk","offset":"+1100"},{"id":235,"name":"(GMT+11:00) Pacific/Bougainville","code":"Pacific/Bougainville","offset":"+1100"},{"id":335,"name":"(GMT+11:00) Pacific/Efate","code":"Pacific/Efate","offset":"+1100"},{"id":275,"name":"(GMT+11:00) Pacific/Guadalcanal","code":"Pacific/Guadalcanal","offset":"+1100"},{"id":131,"name":"(GMT+11:00) Pacific/Kosrae","code":"Pacific/Kosrae","offset":"+1100"},{"id":218,"name":"(GMT+11:00) Pacific/Noumea","code":"Pacific/Noumea","offset":"+1100"},{"id":130,"name":"(GMT+11:00) Pacific/Pohnpei","code":"Pacific/Pohnpei","offset":"+1100"},{"id":219,"name":"(GMT+11:30) Pacific/Norfolk","code":"Pacific/Norfolk","offset":"+1130"},{"id":273,"name":"(GMT+12:00) Asia/Anadyr","code":"Asia/Anadyr","offset":"+1200"},{"id":272,"name":"(GMT+12:00) Asia/Kamchatka","code":"Asia/Kamchatka","offset":"+1200"},{"id":227,"name":"(GMT+12:00) Pacific/Auckland","code":"Pacific/Auckland","offset":"+1200"},{"id":127,"name":"(GMT+12:00) Pacific/Fiji","code":"Pacific/Fiji","offset":"+1200"},{"id":295,"name":"(GMT+12:00) Pacific/Funafuti","code":"Pacific/Funafuti","offset":"+1200"},{"id":192,"name":"(GMT+12:00) Pacific/Kwajalein","code":"Pacific/Kwajalein","offset":"+1200"},{"id":191,"name":"(GMT+12:00) Pacific/Majuro","code":"Pacific/Majuro","offset":"+1200"},{"id":225,"name":"(GMT+12:00) Pacific/Nauru","code":"Pacific/Nauru","offset":"+1200"},{"id":170,"name":"(GMT+12:00) Pacific/Tarawa","code":"Pacific/Tarawa","offset":"+1200"},{"id":300,"name":"(GMT+12:00) Pacific/Wake","code":"Pacific/Wake","offset":"+1200"},{"id":336,"name":"(GMT+12:00) Pacific/Wallis","code":"Pacific/Wallis","offset":"+1200"},{"id":228,"name":"(GMT+12:45) Pacific/Chatham","code":"Pacific/Chatham","offset":"+1245"},{"id":337,"name":"(GMT+13:00) Pacific/Apia","code":"Pacific/Apia","offset":"+1300"},{"id":171,"name":"(GMT+13:00) Pacific/Enderbury","code":"Pacific/Enderbury","offset":"+1300"},{"id":288,"name":"(GMT+13:00) Pacific/Fakaofo","code":"Pacific/Fakaofo","offset":"+1300"},{"id":292,"name":"(GMT+13:00) Pacific/Tongatapu","code":"Pacific/Tongatapu","offset":"+1300"},{"id":172,"name":"(GMT+14:00) Pacific/Kiritimati","code":"Pacific/Kiritimati","offset":"+1400"}]}}}}}}},"/enums/countries":{"get":{"tags":["Enums"],"summary":"List countries","description":"Gets the list of countries and their `countryId` values in the `id` column. The `countryId` is a required parameter when you create a new organization with the API call `POST /organizations`.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"code2":{"type":"string"},"stripeRegion":{"type":"string"}}}}}},"example":{"countries":[{"id":4,"name":"Afghanistan","code":"AFG","code2":"af","stripeRegion":"eu"},{"id":5,"name":"Åland Islands","code":"ALA","code2":"ax","stripeRegion":"eu"},{"id":6,"name":"Albania","code":"ALB","code2":"al","stripeRegion":"eu"}]}}}}}}},"/enums/us-states":{"get":{"tags":["Enums"],"summary":"List US states","description":"Gets the list of US states and their `id` values along with the two-letter state `code`.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"usStates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"}}}}}},"example":{"usStates":[{"id":1,"name":"Alabama","code":"AL"},{"id":2,"name":"Alaska","code":"AK"},{"id":5,"name":"California","code":"CA"}]}}}}}}},"/enums/locales":{"get":{"tags":["Enums"],"summary":"List locales","description":"Gets the list of locales and their `localeId` values and locale codes.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"locales":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"angularCode":{"type":"string"}}}}}},"example":{"locales":[{"id":1,"name":"Afrikaans","code":"af","angularCode":"af"},{"id":96,"name":"Albanian","code":"sq","angularCode":"sq"},{"id":8,"name":"Arabic","code":"ar","angularCode":"ar"},{"id":2,"name":"Arabic (Algeria)","code":"ar-dz","angularCode":"ar-DZ"},{"id":3,"name":"Arabic (Kuwait)","code":"ar-kw","angularCode":"ar-KW"},{"id":4,"name":"Arabic (Libya)","code":"ar-ly","angularCode":"ar-LY"},{"id":5,"name":"Arabic (Morocco)","code":"ar-ma","angularCode":"ar-MA"},{"id":6,"name":"Arabic (Saudi Arabia)","code":"ar-sa","angularCode":"ar-SA"},{"id":7,"name":"Arabic (Tunisia)","code":"ar-tn","angularCode":"ar-TN"},{"id":54,"name":"Armenian (Armenia)","code":"hy-am","angularCode":"hy"},{"id":9,"name":"Azerbaijani","code":"az","angularCode":"az"},{"id":12,"name":"Bambara","code":"bm","angularCode":"bm"},{"id":38,"name":"Basque","code":"eu","angularCode":"eu"},{"id":10,"name":"Belarusian","code":"be","angularCode":"be"},{"id":13,"name":"Bengali","code":"bn","angularCode":"bn"},{"id":16,"name":"Bosnian","code":"bs","angularCode":"bs"},{"id":11,"name":"Bulgarian","code":"bg","angularCode":"bg"},{"id":79,"name":"Burmese","code":"my","angularCode":"my"},{"id":17,"name":"Catalan","code":"ca","angularCode":"ca"},{"id":112,"name":"Central Morocco Tamazight","code":"tzm","angularCode":"tzm"},{"id":111,"name":"Central Morocco Tamazight (Latin)","code":"tzm-latn","angularCode":"tzm"},{"id":121,"name":"Chinese - China","code":"zh-cn","angularCode":"zh-Hans"},{"id":122,"name":"Chinese - Hong Kong SAR","code":"zh-hk","angularCode":"zh-Hant-HK"},{"id":123,"name":"Chinese - Taiwan","code":"zh-tw","angularCode":"zh-Hant"},{"id":52,"name":"Croatian","code":"hr","angularCode":"hr"},{"id":18,"name":"Czech","code":"cs","angularCode":"cs"},{"id":21,"name":"Danish","code":"da","angularCode":"da"},{"id":25,"name":"Divehi","code":"dv","angularCode":"en-US"},{"id":83,"name":"Dutch","code":"nl","angularCode":"nl"},{"id":82,"name":"Dutch (Belgium)","code":"nl-be","angularCode":"nl-BE"},{"id":27,"name":"English (Australia)","code":"en-au","angularCode":"en-AU"},{"id":28,"name":"English (Canada)","code":"en-ca","angularCode":"en-CA"},{"id":30,"name":"English (Ireland)","code":"en-ie","angularCode":"en-IE"},{"id":32,"name":"English (New Zealand)","code":"en-nz","angularCode":"en-NZ"},{"id":29,"name":"English (United Kingdom)","code":"en-gb","angularCode":"en-GB"},{"id":19,"name":"English (United States)","code":"en-us","angularCode":"en-US"},{"id":33,"name":"Esperanto","code":"eo","angularCode":"eo"},{"id":37,"name":"Estonian","code":"et","angularCode":"et"},{"id":41,"name":"Faroese","code":"fo","angularCode":"fo"},{"id":40,"name":"Finnish","code":"fi","angularCode":"fi"},{"id":44,"name":"French","code":"fr","angularCode":"fr"},{"id":42,"name":"French (Canada)","code":"fr-ca","angularCode":"fr-CA"},{"id":43,"name":"French (Switzerland)","code":"fr-ch","angularCode":"fr-CH"},{"id":46,"name":"Gaelic","code":"gd","angularCode":"gd"},{"id":47,"name":"Galician","code":"gl","angularCode":"gl"},{"id":60,"name":"Georgian","code":"ka","angularCode":"ka"},{"id":24,"name":"German","code":"de","angularCode":"de"},{"id":22,"name":"German (Austria)","code":"de-at","angularCode":"de-AT"},{"id":23,"name":"German (Switzerland)","code":"de-ch","angularCode":"de-CH"},{"id":26,"name":"Greek","code":"el","angularCode":"el"},{"id":49,"name":"Gujarati","code":"gu","angularCode":"gu"},{"id":50,"name":"Hebrew","code":"he","angularCode":"he"},{"id":51,"name":"Hindi","code":"hi","angularCode":"hi"},{"id":53,"name":"Hungarian","code":"hu","angularCode":"hu"},{"id":56,"name":"Icelandic","code":"is","angularCode":"is"},{"id":55,"name":"Indonesian","code":"id","angularCode":"id"},{"id":57,"name":"Italian","code":"it","angularCode":"it"},{"id":58,"name":"Japanese","code":"ja","angularCode":"ja"},{"id":63,"name":"Kannada","code":"kn","angularCode":"kn"},{"id":61,"name":"Kazakh","code":"kk","angularCode":"kk"},{"id":62,"name":"Khmer","code":"km","angularCode":"km"},{"id":64,"name":"Korean","code":"ko","angularCode":"ko"},{"id":67,"name":"Lao","code":"lo","angularCode":"lo"},{"id":69,"name":"Latvian","code":"lv","angularCode":"lv"},{"id":68,"name":"Lithuanian","code":"lt","angularCode":"lt"},{"id":72,"name":"Macedonian","code":"mk","angularCode":"mk"},{"id":77,"name":"Malay","code":"ms","angularCode":"ms"},{"id":73,"name":"Malayalam","code":"ml","angularCode":"ml"},{"id":76,"name":"Malay (Malaysia)","code":"ms-my","angularCode":"ms"},{"id":78,"name":"Maltese","code":"mt","angularCode":"mt"},{"id":75,"name":"Marathi","code":"mr","angularCode":"mr"},{"id":71,"name":"Maroi","code":"mi","angularCode":"mi"},{"id":74,"name":"Mongolian","code":"mn","angularCode":"mn"},{"id":81,"name":"Nepali","code":"ne","angularCode":"ne"},{"id":80,"name":"Norwegian Bokmål","code":"nb","angularCode":"nb"},{"id":84,"name":"Norwegian Nynorsk","code":"nn","angularCode":"nn"},{"id":39,"name":"Persian","code":"fa","angularCode":"fa"},{"id":86,"name":"Polish","code":"pl","angularCode":"pl"},{"id":88,"name":"Portuguese","code":"pt","angularCode":"pt"},{"id":87,"name":"Portuguese (Brazil)","code":"pt-br","angularCode":"pt"},{"id":85,"name":"Punjabi","code":"pa","angularCode":"pa"},{"id":89,"name":"Romanian","code":"ro","angularCode":"ro"},{"id":90,"name":"Russian","code":"ru","angularCode":"ru"},{"id":98,"name":"Serbian","code":"sr","angularCode":"sr"},{"id":97,"name":"Serbian (Cyrillic)","code":"sr-cyrl","angularCode":"sr-Cyrl"},{"id":91,"name":"Sindhi","code":"sd","angularCode":"sd"},{"id":93,"name":"Sinhala","code":"si","angularCode":"si"},{"id":94,"name":"Slovak","code":"sk","angularCode":"sk"},{"id":95,"name":"Slovenian","code":"sl","angularCode":"sl"},{"id":36,"name":"Spanish","code":"es","angularCode":"es"},{"id":34,"name":"Spanish (Dominican Republic)","code":"es-do","angularCode":"es-DO"},{"id":35,"name":"Spanish (United States)","code":"es-us","angularCode":"es-US"},{"id":101,"name":"Swahili","code":"sw","angularCode":"sw"},{"id":100,"name":"Swedish","code":"sv","angularCode":"sv"},{"id":105,"name":"Tajik","code":"tg","angularCode":"tg"},{"id":102,"name":"Tamil","code":"ta","angularCode":"ta"},{"id":103,"name":"Telugu","code":"te","angularCode":"te"},{"id":106,"name":"Thai","code":"th","angularCode":"th"},{"id":14,"name":"Tibetan","code":"bo","angularCode":"bo"},{"id":109,"name":"Turkish","code":"tr","angularCode":"tr"},{"id":114,"name":"Ukrainian","code":"uk","angularCode":"uk"},{"id":115,"name":"Urdu","code":"ur","angularCode":"ur"},{"id":117,"name":"Uzbek","code":"uz","angularCode":"uz"},{"id":116,"name":"Uzbek (Latin)","code":"uz-latn","angularCode":"uz-Latn"},{"id":118,"name":"Vietnamese","code":"vi","angularCode":"vi"},{"id":20,"name":"Welsh","code":"cy","angularCode":"cy"},{"id":120,"name":"Yoruba","code":"yo","angularCode":"yo"}]}}}}}}},"/enums/languages":{"get":{"tags":["Enums"],"summary":"List languages","description":"Gets the list of languages and their language codes.","parameters":[{"name":"localized","in":"query","schema":{"type":"boolean"},"example":"true","description":"When set to true, the response contains localized language names, for example --  German: Deutch or Czech: Čeština. This setting limits the number of returned languages to those that have defined their localized name. The default value is `false`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"languages":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}}}}}},"example":{"languages":[{"code":"ab","name":"Abkhazian"},{"code":"aa","name":"Afar"},{"code":"af","name":"Afrikaans"},{"code":"ak","name":"Akan"},{"code":"sq","name":"Albanian"},{"code":"am","name":"Amharic"},{"code":"ar","name":"Arabic"},{"code":"an","name":"Aragonese"},{"code":"hy","name":"Armenian"},{"code":"as","name":"Assamese"},{"code":"av","name":"Avaric"},{"code":"ae","name":"Avestan"},{"code":"ay","name":"Aymara"},{"code":"az","name":"Azerbaijani"},{"code":"bm","name":"Bambara"},{"code":"ba","name":"Bashkir"},{"code":"eu","name":"Basque"},{"code":"be","name":"Belarusian"},{"code":"bn","name":"Bengali"},{"code":"bh","name":"Bihari languages"},{"code":"bi","name":"Bislama"},{"code":"nb","name":"Bokmål, Norwegian; Norwegian Bokmål"},{"code":"bs","name":"Bosnian"},{"code":"br","name":"Breton"},{"code":"bg","name":"Bulgarian"},{"code":"my","name":"Burmese"},{"code":"ca","name":"Catalan; Valencian"},{"code":"km","name":"Central Khmer"},{"code":"ch","name":"Chamorro"},{"code":"ce","name":"Chechen"},{"code":"ny","name":"Chichewa; Chewa; Nyanja"},{"code":"zh","name":"Chinese"},{"code":"cu","name":"Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic"},{"code":"cv","name":"Chuvash"},{"code":"kw","name":"Cornish"},{"code":"co","name":"Corsican"},{"code":"cr","name":"Cree"},{"code":"hr","name":"Croatian"},{"code":"cs","name":"Czech"},{"code":"da","name":"Danish"},{"code":"dv","name":"Divehi; Dhivehi; Maldivian"},{"code":"nl","name":"Dutch; Flemish"},{"code":"dz","name":"Dzongkha"},{"code":"en","name":"English"},{"code":"eo","name":"Esperanto"},{"code":"et","name":"Estonian"},{"code":"ee","name":"Ewe"},{"code":"fo","name":"Faroese"},{"code":"fj","name":"Fijian"},{"code":"fi","name":"Finnish"},{"code":"fr","name":"French"},{"code":"ff","name":"Fulah"},{"code":"gd","name":"Gaelic; Scottish Gaelic"},{"code":"gl","name":"Galician"},{"code":"lg","name":"Ganda"},{"code":"ka","name":"Georgian"},{"code":"de","name":"German"},{"code":"el","name":"Greek, Modern (1453-)"},{"code":"gn","name":"Guarani"},{"code":"gu","name":"Gujarati"},{"code":"ht","name":"Haitian; Haitian Creole"},{"code":"ha","name":"Hausa"},{"code":"he","name":"Hebrew"},{"code":"hz","name":"Herero"},{"code":"hi","name":"Hindi"},{"code":"ho","name":"Hiri Motu"},{"code":"hu","name":"Hungarian"},{"code":"is","name":"Icelandic"},{"code":"io","name":"Ido"},{"code":"ig","name":"Igbo"},{"code":"id","name":"Indonesian"},{"code":"ia","name":"Interlingua (International Auxiliary Language Association)"},{"code":"ie","name":"Interlingue; Occidental"},{"code":"iu","name":"Inuktitut"},{"code":"ik","name":"Inupiaq"},{"code":"ga","name":"Irish"},{"code":"it","name":"Italian"},{"code":"ja","name":"Japanese"},{"code":"jv","name":"Javanese"},{"code":"kl","name":"Kalaallisut; Greenlandic"},{"code":"kn","name":"Kannada"},{"code":"kr","name":"Kanuri"},{"code":"ks","name":"Kashmiri"},{"code":"kk","name":"Kazakh"},{"code":"ki","name":"Kikuyu; Gikuyu"},{"code":"rw","name":"Kinyarwanda"},{"code":"ky","name":"Kirghiz; Kyrgyz"},{"code":"kv","name":"Komi"},{"code":"kg","name":"Kongo"},{"code":"ko","name":"Korean"},{"code":"kj","name":"Kuanyama; Kwanyama"},{"code":"ku","name":"Kurdish"},{"code":"lo","name":"Lao"},{"code":"la","name":"Latin"},{"code":"lv","name":"Latvian"},{"code":"li","name":"Limburgan; Limburger; Limburgish"},{"code":"ln","name":"Lingala"},{"code":"lt","name":"Lithuanian"},{"code":"lu","name":"Luba-Katanga"},{"code":"lb","name":"Luxembourgish; Letzeburgesch"},{"code":"mk","name":"Macedonian"},{"code":"mg","name":"Malagasy"},{"code":"ms","name":"Malay"},{"code":"ml","name":"Malayalam"},{"code":"mt","name":"Maltese"},{"code":"gv","name":"Manx"},{"code":"mi","name":"Maori"},{"code":"mr","name":"Marathi"},{"code":"mh","name":"Marshallese"},{"code":"mn","name":"Mongolian"},{"code":"na","name":"Nauru"},{"code":"nv","name":"Navajo; Navaho"},{"code":"nd","name":"Ndebele, North; North Ndebele"},{"code":"nr","name":"Ndebele, South; South Ndebele"},{"code":"ng","name":"Ndonga"},{"code":"ne","name":"Nepali"},{"code":"se","name":"Northern Sami"},{"code":"no","name":"Norwegian"},{"code":"nn","name":"Norwegian Nynorsk; Nynorsk, Norwegian"},{"code":"oc","name":"Occitan (post 1500); Provençal"},{"code":"oj","name":"Ojibwa"},{"code":"or","name":"Oriya"},{"code":"om","name":"Oromo"},{"code":"os","name":"Ossetian; Ossetic"},{"code":"pi","name":"Pali"},{"code":"pa","name":"Panjabi; Punjabi"},{"code":"fa","name":"Persian"},{"code":"pl","name":"Polish"},{"code":"pt","name":"Portuguese"},{"code":"ps","name":"Pushto; Pashto"},{"code":"qu","name":"Quechua"},{"code":"ro","name":"Romanian; Moldavian; Moldovan"},{"code":"rm","name":"Romansh"},{"code":"rn","name":"Rundi"},{"code":"ru","name":"Russian"},{"code":"sm","name":"Samoan"},{"code":"sg","name":"Sango"},{"code":"sa","name":"Sanskrit"},{"code":"sc","name":"Sardinian"},{"code":"sr","name":"Serbian"},{"code":"sn","name":"Shona"},{"code":"ii","name":"Sichuan Yi; Nuosu"},{"code":"sd","name":"Sindhi"},{"code":"si","name":"Sinhala; Sinhalese"},{"code":"sk","name":"Slovak"},{"code":"sl","name":"Slovenian"},{"code":"so","name":"Somali"},{"code":"st","name":"Sotho, Southern"},{"code":"es","name":"Spanish; Castilian"},{"code":"su","name":"Sundanese"},{"code":"sw","name":"Swahili"},{"code":"ss","name":"Swati"},{"code":"sv","name":"Swedish"},{"code":"tl","name":"Tagalog"},{"code":"ty","name":"Tahitian"},{"code":"tg","name":"Tajik"},{"code":"ta","name":"Tamil"},{"code":"tt","name":"Tatar"},{"code":"te","name":"Telugu"},{"code":"th","name":"Thai"},{"code":"bo","name":"Tibetan"},{"code":"ti","name":"Tigrinya"},{"code":"to","name":"Tonga (Tonga Islands)"},{"code":"ts","name":"Tsonga"},{"code":"tn","name":"Tswana"},{"code":"tr","name":"Turkish"},{"code":"tk","name":"Turkmen"},{"code":"tw","name":"Twi"},{"code":"ug","name":"Uighur; Uyghur"},{"code":"uk","name":"Ukrainian"},{"code":"ur","name":"Urdu"},{"code":"uz","name":"Uzbek"},{"code":"ve","name":"Venda"},{"code":"vi","name":"Vietnamese"},{"code":"vo","name":"Volapük"},{"code":"wa","name":"Walloon"},{"code":"cy","name":"Welsh"},{"code":"fy","name":"Western Frisian"},{"code":"wo","name":"Wolof"},{"code":"xh","name":"Xhosa"},{"code":"yi","name":"Yiddish"},{"code":"yo","name":"Yoruba"},{"code":"za","name":"Zhuang; Chuang"},{"code":"zu","name":"Zulu"}]}}}}}}},"/enums/user-features":{"get":{"tags":["Enums"],"summary":"List user features","description":"Gets the list of all existing user features and their descriptions.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userFeatures":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"name":{"type":"string"}}}}}},"example":{"userFeatures":[{"title":"Allow access to internal IP addresses from scenarios (do not turn on if you don't know what you're doing!)","name":"local_access"},{"title":"Can create Apps without ID suffix","name":"allow_apps"},{"title":"Can use custom IML functions in Apps","name":"allow_apps_js"},{"title":"Can commit changes to approved Apps","name":"allow_apps_commit"},{"title":"Can change App consumables","name":"allow_apps_set_consumable"},{"title":"Can see private modules","name":"private_modules"},{"title":"Can create credential requests","name":"allow_credential_requests"}]}}}}}}},"/enums/organization-features":{"get":{"tags":["Enums"],"summary":"List organization features","description":"Gets the list of all existing organization features and their descriptions.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationFeatures":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"name":{"type":"string"}}}}}},"example":{"organizationFeatures":[{"title":"Allow access to internal IP addresses from scenarios (do not turn on if you don't know what you're doing!)","name":"local_access"},{"title":"Allow migration of scenarios with hidden native apps!","name":"migration_scenarios_hidden_apps"},{"title":"Allow migration within the same zone","name":"migration_same_zone"}]}}}}}}},"/enums/user-email-notifications":{"get":{"tags":["Enums"],"summary":"List email notification settings","description":"Gets the list of available email notification settings and their `notificationId` values. The language of the notification settings descriptions is set according to user language settings by default. You can specify a different language for the notification settings descriptions with the `language` parameter.","parameters":[{"name":"language","in":"query","schema":{"type":"string"},"example":"en","description":"Language code in the ISO 639-1 code standard. Only `en` (English) language is supported."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userEmailNotifications":{"type":"array","items":{"type":"object","required":["id","translationKey","name","description"],"properties":{"id":{"type":"integer"},"translationKey":{"type":"string","description":"Internal translation key for the notification type."},"name":{"type":"string"},"description":{"type":"string"}}}}}},"example":{"userEmailNotifications":[{"id":2,"translationKey":"warningInScenarioRun","name":"Warning in scenario run","description":"Warnings encountered by your scenarios that need your attention, such as failure to connect with your apps and services."},{"id":1,"translationKey":"errorsInScenarioRun","name":"Errors in scenario run","description":"Notifications about errors encountered by specific modules in your scenarios that keep your workflows from running smoothly."},{"id":6,"translationKey":"scenarioDeactivation","name":"Scenario deactivation","description":"Get notified when your scenario gets deactivated due to critical issues such as multiple consecutive errors."},{"id":9,"translationKey":"credentialNotifications","name":"Connection and key activity","description":"Notifications when someone else uses a connection or key you created. If turned off, this disables notifications for your individual connections and keys."}]}}}}}}},"/enums/user-api-token-scopes":{"get":{"tags":["Enums"],"summary":"List API token scopes","description":"Gets the list of all of the existing user API token scopes. For more information about the user API scopes refer to the [Authentication section](../../authentication/api-scopes-overview.md).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userApiTokenScopes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}}}},"example":{"userApiTokenScopes":[{"name":"accounts:read"},{"name":"accounts:write"},{"name":"admin:read"},{"name":"admin:write"},{"name":"apps:read"},{"name":"apps:write"},{"name":"imt-forms:read"},{"name":"imt-forms:write"},{"name":"keys:read"},{"name":"keys:write"},{"name":"notifications:read"},{"name":"notifications:write"},{"name":"organizations:read"},{"name":"organizations:write"},{"name":"packages:read"},{"name":"packages:write"},{"name":"scenarios:read"},{"name":"scenarios:write"},{"name":"system:read"},{"name":"system:write"},{"name":"templates:read"},{"name":"templates:write"},{"name":"udts:read"},{"name":"udts:write"}]}}}}}}},"/enums/imt-regions":{"get":{"tags":["Enums"],"summary":"List Make regions","description":"Gets the list of Make regions and their `regionId` values in the `id` column. The `regionId` is a required parameter when you create a new organization with the API call `POST /organizations`.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"imtRegions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}},"example":{"imtRegions":[{"id":1,"name":"Local"}]}}}}}}},"/enums/imt-zones":{"get":{"tags":["Enums"],"summary":"List Make zones","description":"Gets the list of Make zones and their `zoneId` values in the `id` column. The `zoneId` is a required parameter when you create a new organization with the API call `POST /organizations`.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"imtZones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"domain":{"type":"string"},"name":{"type":"string"}}}}}},"example":{"imtZones":[{"id":1,"domain":"slave1.make.cloud","name":"Zone Slave 1"},{"id":2,"domain":"slave2.make.cloud","name":"Zone Slave 2"}]}}}}}}},"/enums/apps-review-statuses":{"get":{"tags":["Enums"],"summary":"List apps review status","description":"Gets the list of statuses that Make assigns to custom apps. \n - `requestAccepted`: Make has received the request for a custom app review.\n - `inProgress`: The custom app review is in progress.\n - `feedbackSent`: The Make app developers have sent their feedback to the developer of the custom app.\n - `completed`:\n - `waitingForRelease`:\n - `declined`: The custom app publishing has been declined by Make. The reasons for that could be: ","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"reviewStatuses":{"type":"array","items":{"type":"object","properties":{"value":{"type":"integer"},"label":{"type":"string"}}}}}},"example":{"reviewStatuses":[{"value":0,"label":"{{!apps.forms.review.status.requestAccepted}}"},{"value":1,"label":"{{!apps.forms.review.status.inProgress}}"},{"value":2,"label":"{{!apps.forms.review.status.feedbackSent}}"},{"value":3,"label":"{{!apps.forms.review.status.completed}}"},{"value":4,"label":"{{!apps.forms.review.status.waitingForRelease}}"},{"value":5,"label":"{{!apps.forms.review.status.declined}}"}]}}}}}}},"/enums/variable-types":{"get":{"tags":["Enums"],"summary":"List variable types","description":"Retrieves the mapping of custom variable types and their `typeId` values.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"variableTypes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamOnly":{"type":"boolean"}}}}}},"example":{"variableTypes":[{"id":1,"name":"number","teamOnly":false},{"id":2,"name":"string","teamOnly":false},{"id":3,"name":"boolean","teamOnly":false},{"id":4,"name":"date","teamOnly":false}]}}}}}}},"/functions/v2/{functionId}":{"parameters":[{"name":"functionId","in":"path","required":true,"description":"Function identifier. Functions Control resolves its owning Team and performs authoritative\nTeam and resource authorization for this Function and every nested resource.\n","schema":{"type":"integer","format":"int32","minimum":1},"example":741}]},"/functions/v2/{functionId}/versions":{"parameters":[{"name":"functionId","in":"path","required":true,"description":"Function identifier. Functions Control resolves its owning Team and performs authoritative\nTeam and resource authorization for this Function and every nested resource.\n","schema":{"type":"integer","format":"int32","minimum":1},"example":741}]},"/functions/v2/{functionId}/versions/{version}":{"parameters":[{"name":"functionId","in":"path","required":true,"description":"Function identifier. Functions Control resolves its owning Team and performs authoritative\nTeam and resource authorization for this Function and every nested resource.\n","schema":{"type":"integer","format":"int32","minimum":1},"example":741},{"name":"version","in":"path","required":true,"description":"Immutable Function version number.","schema":{"type":"integer","format":"int32","minimum":1},"example":3}]},"/functions/v2/{functionId}/runs":{"parameters":[{"name":"functionId","in":"path","required":true,"description":"Function identifier. Functions Control resolves its owning Team and performs authoritative\nTeam and resource authorization for this Function and every nested resource.\n","schema":{"type":"integer","format":"int32","minimum":1},"example":741}]},"/functions/v2/runs/inline":{"parameters":[{"name":"teamId","in":"query","required":true,"description":"Team that owns the Function collection.","schema":{"type":"integer","format":"int32","minimum":1},"example":42}]},"/functions/v2/runs/{runId}":{"parameters":[{"name":"runId","in":"path","required":true,"description":"Run UUID.","schema":{"type":"string","format":"uuid"},"example":"018f4cf5-973a-7a65-91a5-318a4df9f782"}]},"/functions/v2/runs/{runId}/cancellation":{"parameters":[{"name":"runId","in":"path","required":true,"description":"Run UUID.","schema":{"type":"string","format":"uuid"},"example":"018f4cf5-973a-7a65-91a5-318a4df9f782"}]},"/functions":{"get":{"tags":["Custom functions"],"summary":"List custom functions","description":"Retrieves a list of custom functions available in the team. The response contains `id`, `name`, `description` and a brief updates history of all custom functions available in the team.\n\nCheck availability of the custom functions feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `\"customFunctions\": true` pair in the `license` object then you have access to the custom functions feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["function:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":11},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"functions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"args":{"type":"string"},"description":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"createdAt":{"type":"string","format":"date-time"}}}}}},"example":{"functions":[{"id":2,"name":"checkType","args":"(param)","description":"Returns the data type of the argument.","updatedAt":"2023-02-06T09:10:40.643Z","createdByUser":{"id":22,"name":"John Doe","email":"john@doe.com"},"createdAt":"2023-02-06T09:09:16.063Z"},{"id":3,"name":"numberOfWorkingDays","args":"()","description":"Calculate how many working days are between the two provided dates.","updatedAt":"2023-01-25T12:49:51.601Z","createdByUser":{"id":22,"name":"John Doe","email":"john@doe.com"},"createdAt":"2023-01-25T12:49:51.601Z"}]}}}}}},"post":{"tags":["Custom functions"],"summary":"Create a custom function","description":"Creates a custom function. Specify function `name`, `description` and `code` in the request body.\n\nYou cannot use a JavaScript reserved word for the function `name`. Check the [list of JavaScript reserved words](https://www.w3schools.com/js/js_reserved.asp).\n\nMake sure to use the same function name in the `name` field and in the function's `code`. Otherwise, you get the IM005 error.\n\nMake validates the custom function's code first. You get an IM005 error if the code validation fails. The validation might fail because of a syntax error in the function's code or when the code uses a JavaScript feature that Make doesn't support. Check the [custom functions limitations](https://www.make.com/en/help/functions/custom-functions#limitations-of-custom-functions) in the Make Help center.\n\nCheck availability of the custom functions feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `\"customFunctions\": true` pair in the `license` object then you have access to the custom functions feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["functions:write"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom function."},"description":{"type":"string","description":"The description of the custom function."},"code":{"type":"string","description":"The code of the custom function."}},"required":["name","description"]},"example":{"name":"symmetricDifference","description":"A function which returns an array with items unique across two arrays.","code":"function symmetricDifference(array1, array2){difference = array1.filter(x => !array2.includes(x)).concat(array2.filter(x => !array1.includes(x))) return difference}"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"function":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"code":{"type":"string"},"args":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"createdAt":{"type":"string","format":"date-time"}}}}},"example":{"function":{"id":16,"name":"symmetricDifference","description":"A function which returns an array with items unique across two arrays.","code":"function symmetricDifference(array1, array2){difference = array1.filter(x => !array2.includes(x)).concat(array2.filter(x => !array1.includes(x))) return difference}","args":"(array1, array2)","updatedAt":"2023-02-06T14:09:37.834Z","createdAt":"2023-02-06T14:09:37.834Z","createdByUser":{"id":22,"name":"John Doe","email":"john@doe.com"}}}}}}}}},"/functions/eval":{"post":{"tags":["Custom functions"],"summary":"Check custom function code","description":"Checks the custom functions code. The response contains information whether Make validated the custom functions code successfully or whether there was an error.\n\nThe code validation might fail because of an syntax error in the function's code or when the code uses a JavaScript feature that Make doesn't support. Check the [custom functions limitations](https://www.make.com/en/help/functions/custom-functions#limitations-of-custom-functions) in the Make Help center.\n\nCheck availability of the custom functions feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `\"customFunctions\": true` pair in the `license` object then you have access to the custom functions feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["functions:write"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The code of the custom function."}},"required":["code"]},"example":{"code":"function checkType(arg) {return (typeof(arg))}"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}},"example":{"success":true,"error":null}}}}}}},"/functions/{functionId}":{"get":{"tags":["Custom functions"],"summary":"Custom function detail","description":"Gets detailed information about a custom function. The response contains function `name`, `code`,  a list of scenarios which use the custom function and the custom function's history of updates.","security":[{"token":["functions:read"]}],"parameters":[{"name":"functionId","in":"path","schema":{"type":"integer"},"example":44,"description":"The ID of the custom function.","required":true},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"function":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"code":{"type":"string"},"args":{"type":"string"},"scenarios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"updatedAt":{"type":"string","format":"date-time"},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"createdAt":{"type":"string","format":"date-time"}}}}},"example":{"function":{"id":16,"name":"symmetricDifference","description":"A function which returns an array with items unique across two arrays.","code":"function symmetricDifference(array1, array2){difference = array1.filter(x => !array2.includes(x)).concat(array2.filter(x => !array1.includes(x))) return difference}","args":"(array1, array2)","scenarios":[{"id":1052,"name":"Scenario to compare arrays"}],"updatedAt":"2023-02-06T14:09:37.834Z","createdAt":"2023-02-06T14:09:37.834Z","createdByUser":{"id":22,"name":"John Doe","email":"john@doe.com"}}}}}}}},"patch":{"tags":["Custom functions"],"summary":"Update a custom function","description":"Updates custom functions `description` or `code`. You cannot change the `name` of the custom function.\n\nMake sure to use the same function name in the function's `code`. Otherwise, you get an IM005 error.\n\nMake validates the custom function's code first. You get an IM005 error if the code validation fails. The validation might fail because of a syntax error in the function's code or when the code uses a JavaScript feature that Make doesn't support. Check the [custom functions limitations](https://www.make.com/en/help/functions/custom-functions#limitations-of-custom-functions) in the Make Help center.\n","security":[{"token":["functions:write"]}],"parameters":[{"name":"functionId","in":"path","schema":{"type":"integer"},"example":44,"description":"The ID of the custom function.","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"The description of the custom function. You can use maximum of 128 characters."},"code":{"type":"string","description":"The code of the custom function."}}},"example":{"description":"Greet user instead of greeting the World.","code":"function greeter(name){return concat('Hello ', name)"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"function":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"description":{"type":"string"},"code":{"type":"string"},"args":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"createdAt":{"type":"string","format":"date-time"}}}}},"example":{"function":{"id":48,"name":"greeter","description":"Greet user instead of greeting the World.","code":"function greeter(name){return concat('Hello ', name)","args":"(name)","updatedAt":"2023-02-06T14:09:37.834Z","createdAt":"2023-02-06T14:09:37.834Z","createdByUser":{"id":22,"name":"John Doe","email":"john@doe.com"}}}}}}}},"delete":{"tags":["Custom functions"],"summary":"Delete custom function","description":"Deletes the custom function. The response contains information whether the custom function is deleted or not.\n\nIf you or any of your team members use the custom function in a scenario you have to use the `confirmed` parameter to confirm the custom function deletion. Otherwise, you get an error with a list of scenarios that use the custom function.","security":[{"token":["functions:write"]}],"parameters":[{"name":"functionId","in":"path","required":true,"schema":{"type":"integer"},"example":44,"description":"The ID of the custom function."},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true,"description":"Confirms deleting of the custom function. If you are using the custom function in a scenario Make requires the confirmation."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}},"example":{"success":true}}}}}}},"/functions/{functionId}/history":{"get":{"tags":["Custom functions"],"summary":"Custom function updates history","description":"Gets history of updates of the specified custom function. The response contains a list of code changes, the change author and date when the author made the change.","security":[{"token":["functions:read"]}],"parameters":[{"name":"functionId","in":"path","required":true,"schema":{"type":"integer"},"example":44,"description":"The ID of the custom function."},{"name":"teamId","in":"query","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"functionHistory":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"previousCode":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"}}}}}},"example":{"functionHistory":[{"id":1245,"previousCode":"function checkType(param){return typeof(param)}","updatedAt":"2023-02-09T09:13:36.750Z","updatedBy":"John Doe"},{"id":1240,"previousCode":"function checkType(arg){return typeof(arg)}","updatedAt":"2023-02-09T09:12:34.288Z","updatedBy":"John Doe"}]}}}}}}},"/ping":{"get":{"tags":["General"],"summary":"Ping","description":"Pings the Make API service. Successful response contains plain text.","responses":{"200":{"description":"Successful response","content":{"text/plain":{"schema":{"type":"string"},"example":"pong"}}}}}},"/hooks":{"get":{"tags":["Hooks"],"summary":"List hooks","description":"Retrieves a collection of all hooks for a team with a given ID. Returned hooks are sorted by ID in ascending order by default. Use `pg[sortBy]` to sort by `name` or `hookName`.","security":[{"token":["hooks:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"string"},"required":true,"description":"The unique ID of the team whose hooks will be retrieved.","example":4},{"name":"typeName","in":"query","schema":{"type":"string"},"description":"The hook type. Two native Make hook types are `gateway-webhook` and `gateway-mailhook`.","example":"gateway-webhook"},{"name":"assigned","in":"query","schema":{"type":"boolean"},"description":"Specifies if the hook is assigned to a scenario. If set to `true`, the request will return only the hooks which the `scenarioId` value is not set to null.","example":true},{"name":"viewForScenarioId","in":"query","schema":{"type":"integer"},"description":"This parameter shows only the hooks that can be used by a scenario with a specific ID, which means hooks that are not assigned to another scenario yet and the hook that is already assigned to this scenario. This can be useful because Make allows assigning any hook to only one scenario. If this parameter is set the `assigned` parameter is ignored.","example":123}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hooks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"type":{"type":"string"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"flags":{"type":"object","properties":{"form":{"type":"boolean"}}},"editable":{"type":"boolean"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"typeName":{"type":"string"},"data":{"type":"object","additionalProperties":true,"properties":{"headers":{"type":"boolean"},"method":{"type":"boolean"},"stringify":{"type":"boolean"},"teamId":{"type":"integer"},"ip":{"type":"string","format":"ipv6"},"udt":{"type":"integer"}}},"scenarioId":{"type":"integer"},"url":{"type":"string","format":"uri"}}}}}},"example":{"hooks":[{"id":11,"name":"My gateway-webhook webhook 1","teamId":4,"udid":"1gqnexkk1vwxg2wpj39kg30pzp6uhe7h","type":"web","packageName":null,"theme":"#c73a63","editable":true,"queueCount":0,"queueLimit":10000,"enabled":true,"gone":false,"typeName":"gateway-webhook","data":{"headers":false,"method":false,"stringify":false},"scenarioId":1,"url":"https://local.make.cloud/wh/1gqnexkk1vwxg2wpj39kg30pzp6uhe7h"},{"id":58,"name":"Test 1","teamId":4,"udid":"d4ezzfwgyav7qaukv8dbh3l21eru0fld","type":"web","packageName":null,"theme":"#c73a63","editable":true,"queueCount":0,"queueLimit":10000,"enabled":true,"gone":false,"typeName":"gateway-webhook","data":{"ip":null,"udt":null,"headers":false,"method":false,"stringify":false,"teamId":4},"scenarioId":112,"url":"https://local.make.cloud/wh/d4ezzfwgyav7qaukv8dbh3l21eru0fld"}]}}}}}},"post":{"tags":["Hooks"],"summary":"Create hook","description":"Creates a new hook with data passed in the request body. In the response, it returns all details of the created hook.","security":[{"token":["hooks:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the hook. The name must be at most 128 characters long and does not need to be unique."},"teamId":{"type":"string","description":"The unique ID of the team in which a hook will be created."},"typeName":{"type":"string","description":"The hook type strictly related to the app for which the hook was created."},"method":{"type":"boolean","description":"Set the `method` parameter to `true` to add the HTTP method to the request body."},"headers":{"type":"boolean","description":"Set the `headers` parameter to `true` to add headers to the request body."},"stringify":{"type":"boolean","description":"Set the `stringify` parameter to `true` to return JSON payloads as strings."},"__IMTCONN__":{"type":"integer","description":"The unique ID of the connection that will be included in the created hook."},"formId":{"description":"The unique ID of the form that will be included in the created hook.","type":"string"}},"required":["name","teamId","typeName","method","headers","stringify"]},"example":{"name":"Jotform hook 1","teamId":"1","typeName":"jotform","method":false,"headers":false,"stringify":false,"__IMTCONN__":96,"formId":"91282545501352"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hook":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"type":{"type":"string"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"flags":{"type":"object","properties":{"form":{"type":"boolean"}}},"editable":{"type":"boolean"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"typeName":{"type":"string"},"data":{"type":"object","additionalProperties":true,"properties":{"headers":{"type":"boolean"},"method":{"type":"boolean"},"stringify":{"type":"boolean"},"teamId":{"type":"integer"},"ip":{"type":"string","format":"ipv6"},"udt":{"type":"integer"}}},"scenarioId":{"type":"integer"},"url":{"type":"string","format":"uri"}}},"formula":{"type":"object","properties":{"success":{"type":"array","items":{}}}}}},"example":{"hook":{"id":46,"name":"jotform hook 1","teamId":4,"udid":"ukkxypkmrcgufv8xmc9xumbvh8bfh69d","type":"web","packageName":null,"theme":"#ffa500","editable":false,"queueCount":0,"queueLimit":10000,"enabled":true,"gone":false,"typeName":"jotform","data":{"__IMTCONN__":96,"formId":"91282545501352","teamId":4,"url":"https://local.make.cloud/wh/ukkxypkmrcgufv8xmc9xumbvh8bfh69d"},"url":"https://local.make.cloud/wh/ukkxypkmrcgufv8xmc9xumbvh8bfh69d"}}}}}}}},"/hooks/{hookId}":{"get":{"tags":["Hooks"],"summary":"Get hook details","description":"Retrieves details of a hook with a given ID including hooks data.","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hook":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"type":{"type":"string"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"flags":{"type":"object","properties":{"form":{"type":"boolean"}}},"editable":{"type":"boolean"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"typeName":{"type":"string"},"data":{"type":"object","additionalProperties":true,"properties":{"headers":{"type":"boolean"},"method":{"type":"boolean"},"stringify":{"type":"boolean"},"teamId":{"type":"integer"},"ip":{"type":"string","format":"ipv6"},"udt":{"type":"integer"}}},"scenarioId":{"type":"integer"},"url":{"type":"string","format":"uri"}}}}},"example":{"hook":{"id":58,"name":"Test 1","teamId":4,"udid":"d4ezzfwgyav7qaukv8dbh3l21eru0fld","type":"web","packageName":null,"theme":"#c73a63","editable":true,"queueCount":0,"queueLimit":10000,"enabled":true,"gone":false,"typeName":"gateway-webhook","data":{"ip":null,"udt":null,"headers":false,"method":false,"stringify":false,"teamId":4},"scenarioId":112,"url":"https://local.make.cloud/wh/d4ezzfwgyav7qaukv8dbh3l21eru0fld"}}}}}}},"delete":{"tags":["Hooks"],"summary":"Delete hook","description":"Deletes a hook with a given ID and returns the ID in the response.","security":[{"token":["hooks:write"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"Confirms the deletion if a hook is included in the scenario. Confirmation is required because the scenario will stop working without the hook. If the parameter is missing or it is set to `false` an error code is returned and the resource is not deleted.","example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hook":{"type":"integer"}}},"example":{"hook":12}}}}}},"patch":{"tags":["Hooks"],"summary":"Update hook","description":"Updates a hook with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated hook including properties that were not changed.","security":[{"token":["hooks:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the updated hook. The name must be at most 128 characters long and does not need to be unique."}}},"example":{"name":"My gateway-webhook webhook 1"}}}},"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hook":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"udid":{"type":"string"},"type":{"type":"string"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"flags":{"type":"object","properties":{"form":{"type":"boolean"}}},"editable":{"type":"boolean"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"typeName":{"type":"string"},"data":{"type":"object","additionalProperties":true,"properties":{"headers":{"type":"boolean"},"method":{"type":"boolean"},"stringify":{"type":"boolean"},"teamId":{"type":"integer"},"ip":{"type":"string","format":"ipv6"},"udt":{"type":"integer"}}},"scenarioId":{"type":"integer"},"url":{"type":"string","format":"uri"}}}}},"example":{"hook":{"id":11,"name":"My gateway-webhook webhook 1","teamId":4,"udid":"1gqnexkk1vwxg2wpj39kg30pzp6uhe7h","type":"web","packageName":null,"theme":"#c73a63","editable":true,"queueCount":0,"queueLimit":10000,"enabled":true,"gone":false,"typeName":"gateway-webhook","data":{"headers":false,"method":false,"stringify":false},"url":"https://local.make.cloud/wh/1gqnexkk1vwxg2wpj39kg30pzp6uhe7h"}}}}}}}},"/hooks/{hookId}/ping":{"get":{"tags":["Hooks"],"summary":"Ping hook","description":"Determines if a hook with a given ID is active and retrieves its properties that provide you with the address of the hook and inform if the hook is attached, what is its learning status, and if it was not used for a long time.","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","format":"uri"},"teamId":{"type":"integer","description":"ID of the team that owns the hook."},"attached":{"type":"boolean"},"learning":{"type":"boolean"},"gone":{"type":"boolean"},"dataStructure":{"nullable":true,"type":"array","description":"List of fields parsed from the last received sample. Null if the payload is not yet determined or if the hook is currently in learning mode.","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}}}}},"example":{"address":"https://local.make.cloud/wh/wmhqi8todng3en3z2tl7ausm15tg33iz","teamId":1,"attached":false,"learning":false,"gone":false,"dataStructure":null}}}}}}},"/hooks/{hookId}/learn-start":{"post":{"tags":["Hooks"],"summary":"Learn start","description":"Starts the process of learning the request body structure by a hook with a given ID. When you send to the hook address a request with data in its body, you can use this endpoint to force the hook to start determining the payload data structure which will later be suggested in the scenario as the output of the hook. The data structure learning process also starts automatically when a new hook is created and stops once the data structure is determined. If you want to stop this process, you can use the [Learn stop](./post--hooks--hookid--learn-stop.md) endpoint.","security":[{"token":["hooks:write"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}},"example":{"success":true}}}}}}},"/hooks/{hookId}/learn-stop":{"post":{"tags":["Hooks"],"summary":"Learn stop","description":"Stops the process of learning the request body structure by a hook with a given ID. When you send to the hook address a request with data in its body, you can use the [Learn start](./post--hooks--hookid--learn-start.md) endpoint to force the hook to start determining the payload data structure which will later be suggested in the scenario as the output of the hook. The data structure learning process also starts automatically when a new hook is created and stops once the data structure is determined. You can use this endpoint to stop the learning process at any time.","security":[{"token":["hooks:write"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}},"example":{"success":true}}}}}}},"/hooks/{hookId}/enable":{"post":{"tags":["Hooks"],"summary":"Enable hook","description":"Enables a disabled hook with a given ID. Newly created hooks are enabled by default which means they are ready to accept data. In response, this endpoint returns the confirmation that the hook was successfully enabled.","security":[{"token":["hooks:write"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}},"example":{"success":true}}}}}}},"/hooks/{hookId}/disable":{"post":{"tags":["Hooks"],"summary":"Disable hook","description":"Disables a hook with a given ID. Newly created hooks are enabled by default which means they are ready to accept data. The disabled hook does not accept any data. This endpoint can be useful when you want to debug the scenario functionality. In response, this endpoint returns the confirmation that the hook was successfully disabled.","security":[{"token":["hooks:write"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}},"example":{"success":true}}}}}}},"/hooks/{hookId}/set-data":{"post":{"tags":["Hooks"],"summary":"Set hook details","description":"Sets data for a hook with a given ID. Data differ depending on the hook type. It returns the confirmation if the hook data was changed (`true`) or not (`false`).","security":[{"token":["hooks:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"},"example":{"ip":"","udt":"","headers":false,"method":false,"stringify":false}}}},"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"example":{"changed":true}}}}}}},"/hooks/{hookId}/incomings":{"get":{"tags":["Hooks / Incomings"],"summary":"Get webhook queue","description":"Retrieves a list of webhook queue items waiting for processing with the specified webhook. The request response contains:\n\n- the incoming payload hash\n - incoming data scope\n - the size of the data in bytes\n - timestamp of the moment when the data were placed in the processing queue","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incomings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"},"data":{"type":"object"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"incomings":[{"id":"a17c1163d7e04d258fce6bac2c8bd3d6","scope":"hook","size":1,"created":"2021-02-03T09:59:36.260Z"},{"id":"73b56c93f1ff49fe880eeab4fe4c029b","scope":"hook","size":1,"created":"2021-02-03T09:59:38.594Z"}],"pg":{"sortBy":"created","limit":10000,"sortDir":"asc","offset":0}}}}}}},"delete":{"tags":["Hooks / Incomings"],"summary":"Delete items from webhook queue","description":"Deletes items from the processing queue of the specified webhook. Specify the payload ID values that you want to delete in the request body in the `ids` array.\n\nYou can set the `\"all\": true` pair to delete all items from the webhook processing queue. If you use the `\"all\": true` parameter, you have to specify the `confirmed=true` query parameter to confirm the deletion. Otherwise the API call returns the error IM004 (406).\n\nAdd the `exceptIds` array to the request body to specify items you don't want to delete.\n\nThe API call response will contain an error message if some of the specified queue items cannot be deleted. The rest of the specified items will be deleted. Deleting a webhook queue item is not allowed when the item is already being processed by the webhook.","security":[{"token":["hooks:write"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true,"description":"Set to `true` to confirm deleting the webhook queue items. Otherwise the API call fails with the error IM004 (406)."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The ID values of the webhook processing queue items that you want to delete. Use the API call `GET /hooks/{hookId}/incomings` to get the ID values of the webhook processing queue items."},"exceptIds":{"type":"array","items":{"type":"string"},"description":"If you are deleting all of the incomplete executions with the `all:true` parameter, you can specify the ID values of the webhook queue items that you want to keep. Use the API call `GET /hooks/{hookId}/incomings` to get the ID values of the webhook queue items."},"all":{"type":"boolean","description":"Set to `true` to delete all items in the webhook processing queue."}}},"examples":{"delete":{"summary":"Delete queue items","description":"Delete webhook queue items.","value":{"ids":["d1efa5318a034d36ad7cbeac543573cf","29d9a7410dff494ab739036f6c332335"],"exceptIds":[],"all":false}},"delete-with-error":{"summary":"Delete error","description":"The API call response will contain an error message if you try to delete webhook queue items that Make is processing at the moment. The rest of the incomplete execution items will be deleted.","value":{"ids":["02731358e5ab4022aff040015a1f1a57","dcf18b685e5c4095b9ee24cea09146d3"],"exceptIds":[],"all":false}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incomings":{"type":"array","items":{"type":"string"}},"error":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"}}}}},"examples":{"delete":{"value":{"incomings":["d1efa5318a034d36ad7cbeac543573cf","29d9a7410dff494ab739036f6c332335"]}},"delete-with-error":{"value":{"incomings":["02731358e5ab4022aff040015a1f1a57","dcf18b685e5c4095b9ee24cea09146d3"],"error":{"name":"APIError","message":"Some of the incoming messages could not be deleted because they are being processed right now."}}}}}}}}}},"/hooks/{hookId}/incomings/{incomingId}":{"get":{"tags":["Hooks / Incomings"],"summary":"Get webhook queue item detail","description":"Retrieves detail information about the specified webhook queue item. You can get the webhook queue item ID value with the API call `GET /hooks/{hookId}/incomings`.","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},{"name":"incomingId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID value of the webhook queue item. Get the list of webhook queue items with the API call `GET /hooks/{hookId}/incomings`.","example":"7a567f385d1a4f5ab7bff89162b7605e"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incoming":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"string"},"size":{"type":"integer"},"created":{"type":"string","format":"date-time"},"data":{"type":"object"}}}}},"examples":{"detail-2":{"summary":"Binary queue item","description":"Detail of a webhook queue item that contains data in binary format.","value":{"incoming":{"id":"7a567f385d1a4f5ab7bff89162b7605e","scope":"hook","size":31,"created":"2020-03-05T14:48:10.537Z","data":{"value":"IMTBuffer(22, binary, d4cf3d1cbf035278e7a1a909e71354d7a0387db9): 7b0a20202020226e616d65223a202274657374220a7d"}}}},"detail-1":{"summary":"JSON queue item","description":"Detail of a webhook queue item that contains data in the JSON data format.","value":{"incoming":{"id":"8d88f6f5b0484908890ef11fe7e5bf63","scope":"hook","size":11,"created":"2020-03-05T14:52:01.359Z","data":{"name":"test"}}}}}}}}}}},"/hooks/{hookId}/incomings/stats":{"get":{"tags":["Hooks / Incomings"],"summary":"Get webhook queue stats","description":"Gets webhook processing queue stats. The response contains the number of items in the webhook queue and the webhook queue limit.","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"incomingStat":{"type":"object","properties":{"queue":{"type":"integer"},"limit":{"type":"integer"},"enabled":{"type":"boolean"}}}}},"example":{"incomingStat":{"queue":2,"limit":10000,"enabled":true}}}}}}}},"/hooks/{hookId}/logs":{"get":{"tags":["Hooks / Logs"],"summary":"Get webhook logs","description":"Retrieves a list of the specified webhook execution logs. Use the `to` and `from` parameters to filter the returned logs. The response contains:\n\n- `statusId`: the status of the webhook execution; `1` means successful execution, `3` means failed execution\n - `loggedAt`: the moment when Make created the log\n - `id`: the ID of the webhook execution log","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},{"name":"to","in":"query","schema":{"type":"integer"},"example":1663495749015,"description":"Limits data in the response to entries older than the specified timestamp. Use the [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) format in milliseconds."},{"name":"from","in":"query","schema":{"type":"integer"},"example":1663495749015,"description":"Limits data in the response to entries newer than the specified timestamp. Use the [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) format in milliseconds."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hookLogs":{"type":"array","items":{"type":"object","properties":{"statusId":{"type":"integer"},"parser":{"type":"string"},"replayable":{"type":"boolean"},"sizes":{"type":"object","properties":{"before":{"type":"integer"},"after":{"type":"integer"}}},"loggedAt":{"type":"string","format":"date-time"},"udids":{"type":"array","items":{"type":"string"}},"typeId":{"type":"integer"},"id":{"type":"integer"},"appParser":{"type":"string"},"imtId":{"type":"string"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"hookLogs":[{"statusId":1,"parser":"gateway-webhook","replayable":true,"sizes":{"before":169,"after":169},"loggedAt":"2022-09-01T13:37:19.344Z","udids":["1oknbf9q7ctpjwrych332ump3ny4d66s"],"typeId":3,"id":"89ea4412db0119b205daf41c84eb2160","appParser":null,"imtId":"1662039439344_N1ZF-YIBperJkDkkOJFc"},{"statusId":3,"parser":"gateway-webhook","replayable":true,"sizes":{"before":589,"after":589},"loggedAt":"2022-09-01T13:36:19.344Z","udids":["1oknbf9q7ctpjwrych332ump3ny4d66s"],"typeId":3,"id":"89ea4412db0119b205daf41c84eb1020","appParser":null,"imtId":"2662039439344_N1ZF-YIBperJkDkkOkUv"}],"pg":{"sortBy":"loggedAt","limit":25,"sortDir":"desc","offset":0}}}}}}}},"/hooks/{hookId}/logs/{logId}":{"get":{"tags":["Hooks / Logs"],"summary":"Get webhook execution detail","description":"Retrieves the specified webhook execution log. The response contains:\n\n- `statusId`: the status of the webhook execution; `1` means successful execution, `3` means failed execution\n - `loggedAt`: the moment when Make created the log\n - `id`: the ID of the webhook execution log\n - `data`: information about the request, header, and payload sent to the webhook.\n\nSome webhooks don't return the `data` object due to their implementation. Most common examples include instant triggers for Slack, Zoom, Intercom and Facebook lead ads apps.","security":[{"token":["hooks:read"]}],"parameters":[{"name":"hookId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the webhook. Use the `GET /hooks` API call to get the ID values of your webhooks.","example":654},{"name":"logId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the webhook execution log. Use the `GET /hooks/{hookId}/logs` API call to get the ID values of your webhook execution logs.","example":"95b1c20c790ff5f9d2f1e805943ce95d"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hookLog":{"type":"object","properties":{"statusId":{"type":"integer"},"parser":{"type":"string"},"replayable":{"type":"boolean"},"data":{"type":"object","properties":{"request":{"type":"object","properties":{"headers":{"type":"object","additionalProperties":{}},"method":{"type":"string"},"query":{"type":"object","additionalProperties":{}},"ip":{"type":"string"},"parsed":{"type":"string"},"body":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]},"url":{"type":"string"}}},"response":{"type":"object","properties":{"headers":{"type":"array","items":{"type":"string"}},"body":{"type":"string"},"status":{"type":"integer"}}}}},"sizes":{"type":"object","properties":{"before":{"type":"integer"},"after":{"type":"integer"}}},"loggedAt":{"type":"string","format":"date-time"},"udids":{"type":"array","items":{"type":"string"}},"typeId":{"type":"integer"},"id":{"type":"integer"},"appParser":{"type":"string"},"imtId":{"type":"string"}}}}},"example":{"hookLog":{"statusId":1,"parser":"gateway-webhook","replayable":true,"data":{"request":{"headers":{"x-request-sample-header-item":"95b1c20c790ff5f9d2f1e805943ce95d"},"method":"POST","query":{},"ip":"11.111.111.111","parsed":null,"body":{"value":"Test"},"url":"/1oknbf9q7ctpjwrych332ump3ny4d66r"},"response":{"headers":[],"body":"Accepted","status":200}}},"sizes":{"before":127,"after":127},"loggedAt":"2022-09-01T13:36:37.908Z","udids":["1oknbf9q7ctpjwrych332ump3ny4d66r"],"typeId":3,"id":"95b1c20c790ff5f9d2f1e805943ce95e","appParser":null,"imtId":"1662039397908_DlZE-YIBperJkDkklpFj"}}}}}}},"/imt/apps":{"components":{"schemas":{"ScoredSearchApp":{"type":"object","description":"A native or SDK app with version/module aggregation and zone+team scoring applied.\nReturned only when `scoredSearch=true`.\n","required":["name","label","theme","icon","type","score","versions"],"properties":{"name":{"type":"string","description":"App package name."},"label":{"type":"string","description":"App display label."},"description":{"type":"string","nullable":true},"theme":{"type":"string","nullable":true,"description":"Hex color of the app's branding (e.g. `'#18bfff'`)."},"icon":{"type":"string","nullable":true},"comingSoon":{"type":"boolean"},"premiumTier":{"type":"integer","description":"Premium level [0-10]; SDK apps default to 0."},"keywords":{"type":"string","description":"Comma-separated keywords for app search."},"type":{"type":"string","enum":["native","sdk"],"description":"App kind. Addon apps use the `AddonApp` schema."},"score":{"type":"number","description":"Aggregate score combining zone- and team-level usage."},"versions":{"type":"array","items":{"type":"object","required":["version","public","modules"],"properties":{"version":{"type":"string","description":"Full semver version of the package (e.g. `'1.2.0'`)."},"public":{"type":"boolean"},"beta":{"type":"boolean"},"foreign":{"type":"boolean","description":"True when the app is installed from an invite link."},"approved":{"type":"boolean"},"supportsAgent":{"type":"boolean"},"modules":{"type":"array","items":{"type":"object","description":"A module under a scored app version. May be either a native module of the parent app, or\na module **relocated** from a different source app by the product-managed reorganizer.\nWhen relocated, `appName`/`appVersion`/`theme` identify the *source* package — see the\nendpoint description.\n","required":["name","label","type","score"],"properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","description":"Module kind (e.g. `'action'`, `'trigger'`, `'search'`, …)."},"score":{"type":"number"},"listener":{"type":"boolean"},"acid":{"type":"boolean"},"public":{"type":"boolean"},"deprecated":{"type":"boolean"},"approved":{"type":"boolean"},"supportsAgent":{"type":"boolean"},"centicreditsFormula":{"type":"string"},"centicreditsFormulaDescription":{"type":"string"},"centicreditsFormulaDocumentationUrl":{"type":"string"},"centicreditsFormulaMeta":{"type":"object","additionalProperties":true},"appName":{"type":"string","description":"Present only on **relocated** modules. Name of the source app package this module\noriginally belongs to. Frontend MUST use this (when present) as the package identifier\nwhen materializing the module into a scenario blueprint.\n"},"appVersion":{"type":"string","description":"Present only on relocated modules. Full semver version of the source package\n(e.g. `'1.0.0'`). Used together with `appName` to load the source manifest.\n"},"theme":{"type":"string","description":"Present only on relocated modules. Hex color theme of the source package, so the\nfrontend can render the module in its original app's branding.\n"}}}},"groups":{"type":"array","description":"Always present after the group normalization step (see endpoint description).\nEither authored groups (≥ 2 of them) plus any per-type defaults for orphan modules,\nor per-type default groups if the app had no real authored grouping.\n","items":{"type":"object","required":["label","modules"],"properties":{"label":{"type":"string","description":"Authored group label, or a per-type default like `'actions'`, `'triggers'`,\n`'searches'`, `'transformers'`, `'routers'`, etc.\n"},"modules":{"type":"array","items":{"type":"string"},"description":"Module names belonging to this group (references into `modules[]`)."}}}}}}}}},"ScoredAppVersion":{"type":"object","required":["version","public","modules"],"properties":{"version":{"type":"string","description":"Full semver version of the package (e.g. `'1.2.0'`)."},"public":{"type":"boolean"},"beta":{"type":"boolean"},"foreign":{"type":"boolean","description":"True when the app is installed from an invite link."},"approved":{"type":"boolean"},"supportsAgent":{"type":"boolean"},"modules":{"type":"array","items":{"type":"object","description":"A module under a scored app version. May be either a native module of the parent app, or\na module **relocated** from a different source app by the product-managed reorganizer.\nWhen relocated, `appName`/`appVersion`/`theme` identify the *source* package — see the\nendpoint description.\n","required":["name","label","type","score"],"properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","description":"Module kind (e.g. `'action'`, `'trigger'`, `'search'`, …)."},"score":{"type":"number"},"listener":{"type":"boolean"},"acid":{"type":"boolean"},"public":{"type":"boolean"},"deprecated":{"type":"boolean"},"approved":{"type":"boolean"},"supportsAgent":{"type":"boolean"},"centicreditsFormula":{"type":"string"},"centicreditsFormulaDescription":{"type":"string"},"centicreditsFormulaDocumentationUrl":{"type":"string"},"centicreditsFormulaMeta":{"type":"object","additionalProperties":true},"appName":{"type":"string","description":"Present only on **relocated** modules. Name of the source app package this module\noriginally belongs to. Frontend MUST use this (when present) as the package identifier\nwhen materializing the module into a scenario blueprint.\n"},"appVersion":{"type":"string","description":"Present only on relocated modules. Full semver version of the source package\n(e.g. `'1.0.0'`). Used together with `appName` to load the source manifest.\n"},"theme":{"type":"string","description":"Present only on relocated modules. Hex color theme of the source package, so the\nfrontend can render the module in its original app's branding.\n"}}}},"groups":{"type":"array","description":"Always present after the group normalization step (see endpoint description).\nEither authored groups (≥ 2 of them) plus any per-type defaults for orphan modules,\nor per-type default groups if the app had no real authored grouping.\n","items":{"type":"object","required":["label","modules"],"properties":{"label":{"type":"string","description":"Authored group label, or a per-type default like `'actions'`, `'triggers'`,\n`'searches'`, `'transformers'`, `'routers'`, etc.\n"},"modules":{"type":"array","items":{"type":"string"},"description":"Module names belonging to this group (references into `modules[]`)."}}}}}},"ScoredAppModule":{"type":"object","description":"A module under a scored app version. May be either a native module of the parent app, or\na module **relocated** from a different source app by the product-managed reorganizer.\nWhen relocated, `appName`/`appVersion`/`theme` identify the *source* package — see the\nendpoint description.\n","required":["name","label","type","score"],"properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","description":"Module kind (e.g. `'action'`, `'trigger'`, `'search'`, …)."},"score":{"type":"number"},"listener":{"type":"boolean"},"acid":{"type":"boolean"},"public":{"type":"boolean"},"deprecated":{"type":"boolean"},"approved":{"type":"boolean"},"supportsAgent":{"type":"boolean"},"centicreditsFormula":{"type":"string"},"centicreditsFormulaDescription":{"type":"string"},"centicreditsFormulaDocumentationUrl":{"type":"string"},"centicreditsFormulaMeta":{"type":"object","additionalProperties":true},"appName":{"type":"string","description":"Present only on **relocated** modules. Name of the source app package this module\noriginally belongs to. Frontend MUST use this (when present) as the package identifier\nwhen materializing the module into a scenario blueprint.\n"},"appVersion":{"type":"string","description":"Present only on relocated modules. Full semver version of the source package\n(e.g. `'1.0.0'`). Used together with `appName` to load the source manifest.\n"},"theme":{"type":"string","description":"Present only on relocated modules. Hex color theme of the source package, so the\nfrontend can render the module in its original app's branding.\n"}}},"AddonApp":{"type":"object","description":"Addon entries returned alongside native/SDK apps. Shape is preserved from\n`req.app.get('addonApps')` (provided by the `load-addon.apps.js` loader).\n","additionalProperties":true}}}},"/imt/apps/{name}/{version}/modules-with-credentials":{"get":{"tags":["IMT"],"summary":"List App Modules with Credentials","deprecated":true,"description":"**Deprecated.** Use `GET /credential-requests/apps/{name}/{version}/modules-with-credentials` instead.\nThis endpoint continues to work but will be removed in a future release.\n\nRetrieves all modules with credential requirements for a specific app and version.\n\nFor each module, this endpoint returns:\n- Module identification (`id`, `name`, `label`)\n- Required credential type (e.g., `account:slack2`)\n- OAuth scopes required by the module\n- Whether the module is a hook-based trigger\n\n**Custom/SDK Apps**: To query custom (SDK) apps, prefix the app name with `app#` (URL-encoded as `app%23`).\nFor example: `/imt/apps/app%23my-custom-app/1/modules-with-credentials`\n","security":[{"token":["apps:read"]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","pattern":"^(app#)?[a-z][0-9a-z-]+[0-9a-z]$","minLength":3,"maxLength":135},"description":"The name of the app. Must start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and end with a letter or number. Minimum 3 characters (e.g., `a-b`, `abc`).\n\nFor SDK/custom apps, use the `app#` prefix (URL-encoded as `app%23`).\n","example":"slack"},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"integer","minimum":1},{"type":"string","enum":["latest"]}]},"description":"The major version of the app. Use a specific version number (e.g., `1`, `2`, `4`) or `latest` to get the most recent version.\n","example":4}],"responses":{"200":{"description":"Successful response with list of app modules and their credential requirements.","headers":{"x-imt-package-name":{"schema":{"type":"string"},"description":"The name of the app package.","example":"slack"},"x-imt-package-version":{"schema":{"type":"string"},"description":"The full version string of the app package.","example":"4.0.0"}},"content":{"application/json":{"schema":{"type":"object","properties":{"appModules":{"type":"array","description":"List of modules with their credential requirements.","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the module credential configuration.\nFor modules with a single credential, this matches the module name.\nFor modules with multiple credentials, includes additional context (e.g., `moduleName:paramName`).\n"},"name":{"type":"string","description":"The technical name of the module."},"label":{"type":"string","description":"Human-readable display name of the module."},"type":{"type":"string","description":"The credential type required by the module.\nFormat is typically `account:<app-name>` or `keychain:<app-name>`.\nMultiple types may be comma-separated (e.g., `account:slack2,slack3`).\n"},"scope":{"type":"array","description":"List of OAuth scopes required by this module.","items":{"type":"string"}},"hook":{"type":"boolean","description":"Indicates whether this module is a hook-based trigger."}}}}}},"examples":{"slack-modules":{"summary":"Slack app modules","description":"Example response for Slack app version 4","value":{"appModules":[{"id":"CreateMessage","name":"CreateMessage","label":"Send a Message","type":"account:slack2,slack3","scope":["chat:write","chat:write.public","chat:write.customize","channels:read","groups:read","im:read","mpim:read","users:read"],"hook":false},{"id":"WatchMessages","name":"WatchMessages","label":"Watch Public Channel Messages","type":"account:slack2","scope":["channels:history","channels:read"],"hook":false},{"id":"watchInteractivityEvents","name":"watchInteractivityEvents","label":"Watch Interactive Events","type":"account:slack2,slack3","scope":[],"hook":true}]}}}}}},"404":{"description":"App or package not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code."},"message":{"type":"string","description":"Error message."}}},"example":{"code":"SC404","message":"Package not found."}}}}}}},"/keys":{"get":{"tags":["Keys"],"summary":"List keys","description":"Gets the list of keys in your custom keychain. You can use the `typeName` query parameter to filter your keys based on their type. Run the [list of key types](./get--keys--types.md) API call to get a list of available key types.\n","security":[{"token":["keys:read"]}],"parameters":[{"name":"teamId","description":"The ID of the team.","in":"query","schema":{"type":"integer"},"required":true,"example":22},{"name":"typeName","in":"query","description":"Use the key type to get only keys with the specified type. You can use the API call `GET /keys/types` to list available key types.","schema":{"type":"string","enum":["aes-key","apikeyauth","apn","basicauth","clientcertauth","eet","gpg-private","gpg-public","webpay"]},"example":"basicauth"},{"name":"cols[]","in":"query","description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for each column that you want included. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","schema":{"type":"array","items":{"type":"string","enum":["id","name","typeName","teamId","packageName","theme","scenarioUsages"]}},"examples":{"list-all":{"value":["id","name","typeName","teamId","packageName","theme","scenarioUsages"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"typeName":{"type":"string"},"teamId":{"type":"integer"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"scenarioUsages":{"type":"array","description":"Scenarios that use this key. Only returned when explicitly requested via `cols[]=scenarioUsages`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}}}},"examples":{"list":{"summary":"List keys","description":"Get the ID and `name` of all keys in your team.","value":{"keys":[{"id":1,"name":"My HTTP Basic Auth key"},{"id":2,"name":"My HTTP Basic Auth key"}]}},"list-all":{"summary":"List all key metadata","description":"Gets all available key metadata.","value":{"keys":[{"id":1,"name":"My HTTP Basic Auth key","typeName":"basicauth","teamId":4,"packageName":null,"theme":"#007ee5","scenarioUsages":[{"id":123,"name":"My Scenario"}]},{"id":2,"name":"My HTTP Basic Auth key","typeName":"basicauth","teamId":4,"packageName":null,"theme":"#007ee5","scenarioUsages":[]}]}}}}}}}},"post":{"tags":["Keys"],"summary":"Create a key","description":"Creates a key in your keychain.\n\n Use the [list of key types](./get--keys--types.md) API call to get a list of available key types for the `typeName` parameter. Specify additional parameters in the `parameters` object based on the key type.\n","security":[{"token":["keys:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"integer","description":"The ID of the team."},"name":{"type":"string","description":"The name of the key."},"typeName":{"type":"string","description":"Use the key type to get only keys with the specified type. You can use the API call `GET /keys/types` to list available key types."},"parameters":{"type":"object","description":"Additional parameters required to create the key.\n\nCheck the [list of key types](./get--keys--types.md) API call for the parameters you need to specify.\n"},"visibility":{"type":"string","enum":["team","locked"],"default":"team","description":"Entity-tier visibility of the created key. With `locked` the key is restricted to its access list from the moment it is created, with the creator as its sole admin. Requires the *Locked connections* feature to be enabled for the organization; otherwise the request fails with `IM903` (HTTP 400). When the access list cannot be provisioned, the request fails with HTTP 422 and the key is not created. Omitted or `team`, the key is visible to the whole team."}},"required":["teamId","name","typeName","parameters"]},"examples":{"basicauth":{"value":{"teamId":22,"name":"My HTTP Basic Auth key","typeName":"basicauth","parameters":{"authUser":"Martin","authPass":"your-password"}}},"apikeyauth":{"value":{"teamId":22,"name":"My API key auth key","typeName":"apikeyauth","parameters":{"name":"api-key","key":"your-api-key","placement":"header"}}},"basicauth-locked":{"summary":"Key created locked","description":"Creates the key with `visibility: locked` — restricted to its access list, with the creator as its sole admin.","value":{"teamId":22,"name":"My HTTP Basic Auth key","typeName":"basicauth","visibility":"locked","parameters":{"authUser":"Martin","authPass":"your-password"}}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"typeName":{"type":"string"},"teamId":{"type":"integer"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"scenarioUsages":{"type":"array","description":"Scenarios that use this key. Only returned when explicitly requested via `cols[]=scenarioUsages`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}}},"examples":{"basicauth":{"summary":"Basic Authentication","description":"Create a key for an API with the basic authentication.","value":{"key":{"id":17,"name":"Basic Auth","typeName":"basicauth","teamId":22,"packageName":null,"theme":"#007ee5"}}},"apikeyauth":{"summary":"API key Auth","description":"Create a key for an API with the API key authentication.","value":{"key":{"id":18,"name":"My API key Auth key","typeName":"apikeyauth","teamId":22,"packageName":null,"theme":"#007ee5"}}},"basicauth-locked":{"summary":"Key created locked","description":"The response shape of a locked key is identical — visibility is not returned by this endpoint.","value":{"key":{"id":19,"name":"My HTTP Basic Auth key","typeName":"basicauth","teamId":22,"packageName":null,"theme":"#007ee5"}}}}}}},"400":{"description":"The `visibility` value is invalid (`IM005`), or `visibility: locked` was sent while the *Locked connections* feature is not enabled for the organization (`IM903`, returned while the `web_api_locked_connections` feature flag is off).\n"},"422":{"description":"The access list of a `locked` key could not be provisioned (`IM016`). The key is not created — the request can be retried.\n"}}}},"/keys/types":{"get":{"tags":["Keys"],"summary":"List key types","description":"Gets the list of available key types.","security":[{"token":["keys:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"keysTypes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"}}}},"componentType":{"type":"string"},"managed":{"type":"boolean","description":"When true, this key type is server-managed: its data is written only by a dedicated setup flow, and it is hidden from the generic key list unless explicitly requested via `?typeName=`. Absent/false for all other key types."},"creation":{"type":"object","description":"Describes how to create a key of this managed type. Only present when `managed` is true.","properties":{"mode":{"type":"string","example":"interactive"},"url":{"type":"string","example":"/ai-browser/context-setups"},"window":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}}}},"author":{"type":"string"},"version":{"type":"string"},"theme":{"type":"string","format":"color"},"icon":{"type":"string"}}}}}},"example":{"keysTypes":[{"name":"aes-key","label":"AES","parameters":[{"name":"key","type":"text","label":"Key","required":true},{"name":"keyEncoding","label":"Key Encoding","type":"select","required":true,"default":"hex","options":[{"label":"Base 64","value":"base64"},{"label":"Hexadecimal","value":"hex"},{"label":"Plain Text","value":"plain"}]}],"componentType":"key","author":"Patrik Simek","version":"3.0.12","theme":"#fa6f57","icon":"/img/packages/aes-key.png"},{"name":"apikeyauth","label":"API Key Auth","parameters":[{"name":"key","label":"Key","type":"password","required":true},{"name":"placement","label":"API Key placement","help":"Define where to place the API Key.","type":"select","required":true,"default":"header","options":[{"label":"In the header","value":"header"},{"label":"In the query string","value":"qs"}]},{"name":"name","label":"API Key parameter name","type":"text","default":"X-API-Key","required":true}],"componentType":"key","author":"Petr Malimanek","version":"3.31.4","theme":"#007ee5","icon":"/img/packages/apikeyauth.png"},{"label":"Apple Push Notifications","name":"apn","parameters":[{"label":"Private Key","multiline":true,"required":true,"type":"pkey","name":"privateKey","help":"If you're using Provider Authentication Tokens, insert content of acquired .p8 file."},{"label":"Authentication method","name":"method","type":"select","default":"tokens","options":[{"label":"Provider Authentication Tokens","value":"tokens","nested":[{"label":"Key ID","required":true,"type":"text","name":"keyId"},{"label":"Team ID","required":true,"type":"text","name":"teamId"}]},{"label":"Certificate","value":"cert","nested":[{"label":"Certificate","required":true,"multiline":true,"type":"cert","name":"certificate"}]}]},{"required":true,"label":"Production","default":false,"name":"production","type":"boolean"}],"componentType":"key","author":"Patrik Simek","version":"1.1.6","theme":"#666666","icon":"/img/packages/apn.png"},{"name":"basicauth","label":"HTTP Basic Auth","parameters":[{"name":"authUser","label":"Username","type":"text"},{"name":"authPass","label":"Password","type":"password"}],"componentType":"key","author":"Petr Malimanek","version":"3.31.4","theme":"#007ee5","icon":"/img/packages/basicauth.png"}]}}}}}}},"/keys/{keyId}":{"get":{"tags":["Keys"],"summary":"Get key details","description":"Gets details of the specified key.","security":[{"token":["keys:read"]}],"parameters":[{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16},{"name":"cols[]","in":"query","description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \\\"Filtering\\\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","schema":{"type":"array","items":{"type":"string","enum":["id","name","typeName","teamId","packageName","theme"]}},"examples":{"all-cols":{"value":["id","name","typeName","teamId","packageName","theme"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"typeName":{"type":"string"},"teamId":{"type":"integer"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"scenarioUsages":{"type":"array","description":"Scenarios that use this key. Only returned when explicitly requested via `cols[]=scenarioUsages`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}}},"examples":{"default-response":{"summary":"Default response","description":"Get the key ID and `name` in the response.","value":{"key":{"id":1,"name":"My secret key"}}},"all-cols":{"summary":"All metadata","description":"Get all key metadata","value":{"key":{"id":1,"name":"My Secret Key","typeName":"digest-secret","teamId":1,"packageName":"keychain-pro","theme":"#010399"}}}}}}},"403":{"description":"The key is restricted to its access list and the caller is not on it with permission to use it (`IM002`).\n"}}},"patch":{"tags":["Keys"],"summary":"Update a key","description":"Updates a key `name`, connection parameters, or both with the data specified in the request body. If you don't specify a parameter, Make keeps the original value.\n\nUse the `GET /key-types` API call to find out which parameters you need to specify in the `parameters` object based on the key type.\n","security":[{"token":["keys:write"]}],"parameters":[{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"},"examples":{"update-name":{"value":{"name":"Updated basic auth key"}},"update-connection":{"value":{"name":"HTTP basic auth key","parameters":{"authUser":"Test user","authPass":"test-password"}}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"typeName":{"type":"string"},"teamId":{"type":"integer"},"packageName":{"type":"string"},"theme":{"type":"string","format":"color"},"scenarioUsages":{"type":"array","description":"Scenarios that use this key. Only returned when explicitly requested via `cols[]=scenarioUsages`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}}},"examples":{"update-name":{"summary":"Update name","description":"Update the name of the key","value":{"key":{"id":16,"name":"Updated basic auth key","typeName":"basicauth","teamId":22,"packageName":null,"theme":"#007ee5"}}},"update-connection":{"summary":"Update parameters","description":"Update the key parameters","value":{"key":{"id":16,"name":"HTTP basic auth key","typeName":"basicauth","teamId":4,"packageName":null,"theme":"#007ee5"}}}}}}},"403":{"description":"The key is restricted to its access list and the caller is not on it with permission to manage it (`IM002`).\n"}}},"delete":{"tags":["Keys"],"summary":"Delete a key","description":"Deletes the specified key. Use the `confirmed` parameter to confirm deleting the key. Otherwise, you get an error and the key is not deleted.","security":[{"token":["keys:write"]}],"parameters":[{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true,"description":"Set this parameter to `true` to confirm deleting the key. Otherwise, you get an error and the key is not deleted."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"integer"}}},"example":{"key":16}}}},"403":{"description":"The key is restricted to its access list and the caller is not on it with permission to manage it (`IM002`). A team administrator may still delete such a key only when nobody is left able to manage it.\n"}}}},"/keys/{keyId}/make-locked":{"post":{"tags":["Keys"],"summary":"Lock key","description":"Restricts the key's visibility to its access list (`visibility: locked`). The caller becomes the sole admin\nof the locked key.\n\nCaller rule: only the key's author can lock it, and that author must still be a member of the key's\nteam. A key without an author cannot be locked.\n\nThe operation is idempotent — locking an already locked key succeeds without any change; the caller rule\nabove still applies.\n\nRequires the *Locked connections* feature to be enabled for the organization.\n","security":[{"token":["keys:write"]}],"parameters":[{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the key."},"visibility":{"type":"string","enum":["locked"],"description":"The visibility of the key after the flip."}}}}},"examples":{"locked":{"value":{"key":{"id":8,"visibility":"locked"}}}}}}},"400":{"description":"The *Locked connections* feature is not enabled for the organization (`IM903`, returned while the `web_api_locked_connections` feature flag is off).\n"},"403":{"description":"The caller is not the key's author (`IM002`).\n"},"404":{"description":"The key does not exist (`IM013`)."},"409":{"description":"The key has no author, or its author is no longer a member of the key's team (`SC409`) — locking is reserved to an author who is still on the team.\n"}}}},"/keys/{keyId}/make-team":{"post":{"tags":["Keys"],"summary":"Make key available to team","description":"Makes a locked key visible to the whole team again (`visibility: team`) and clears the key's entire access\nlist. Only an admin of the locked key can perform the flip. The key's author is not changed.\n\nThe operation is idempotent — flipping an already team-visible key succeeds, provided the caller has the\n`key edit` permission; any residual entries on the key's access list are still cleared.\n\nRequires the *Locked connections* feature to be enabled for the organization.\n","security":[{"token":["keys:write"]}],"parameters":[{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the key."},"visibility":{"type":"string","enum":["team"],"description":"The visibility of the key after the flip."}}}}},"examples":{"made-team":{"value":{"key":{"id":8,"visibility":"team"}}}}}}},"400":{"description":"The *Locked connections* feature is not enabled for the organization (`IM903`, returned while the `web_api_locked_connections` feature flag is off).\n"},"403":{"description":"The caller is not an admin of the locked key (`IM002`)."},"404":{"description":"The key does not exist (`IM013`)."}}}},"/notifications":{"get":{"tags":["Notifications"],"summary":"List notifications","description":"Retrieves a collection of all notifications for the authenticated user. Returned notifications are sorted by ID in descending order.","security":[{"token":["notifications:read"]}],"parameters":[{"name":"unreadOnly","in":"query","schema":{"type":"boolean"},"description":"If set to `true`, this parameter returns only the unread notifications.","example":false},{"name":"imtZoneId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the Make zone. This parameter is required to retrieve notifications from the Make version. For other Make platforms, it can be ignored. The IDs of the zones can be obtained from the `/enums/imt-zones` endpoint.","example":2},{"description":"The value that will be used to sort returned entities by. Notifications can be currently sorted only by ID.","name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["id"]}},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"notifications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"subject":{"type":"string"},"read":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"type":{"type":"integer"}}}},"userUnreadNotifications":{"type":"integer"},"userZoneNotifications":{"type":"array","items":{"type":"object","properties":{"imtZoneId":{"type":"integer"},"unreadNotifications":{"type":"integer"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"notifications":[{"id":"3","subject":"Encountered error in Integration HTTP scenario","read":"2021-05-14T11:35:22.837Z","created":"2021-05-14T11:18:43.340Z","type":1},{"id":"2","subject":"Encountered error in Integration HTTP scenario","read":null,"created":"2021-05-14T11:17:04.433Z","type":1},{"id":"1","subject":"Encountered error in Integration HTTP scenario","read":null,"created":"2021-05-14T11:14:08.675Z","type":1}],"userUnreadNotifications":4,"userZoneNotifications":[{"imtZoneId":1,"unreadNotifications":4}],"pg":{"sortBy":"id","limit":10000,"sortDir":"desc","offset":0}}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete notifications","description":"Deletes notifications with given IDs and returns their IDs in the response. This endpoint allows deleting one or more notifications at once.","security":[{"token":["notifications:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","description":"The array with IDs of the notifications to delete. Since the number of notifications can reach a `BigInt` and because of the limitations of the Open API format, the IDs need to be strings.","items":{"type":"string"}}},"required":["ids"]},"example":{"ids":["1","2","3"]}}}},"parameters":[{"name":"imtZoneId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the Make zone. This parameter is required to retrieve notifications from the Make version. For other Make platforms, it can be ignored. The IDs of the zones can be obtained from the `/enums/imt-zones` endpoint.","example":2}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"notifications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}}}}}},"example":{"notifications":[{"id":"1"},{"id":"2"}]}}}}}}},"/notifications/{notificationId}":{"get":{"tags":["Notifications"],"summary":"Get notification detail","description":"Retrieves details and full content of a notification with a given ID.","security":[{"token":["notifications:read"]}],"parameters":[{"name":"notificationId","in":"path","schema":{"type":"string"},"description":"The unique ID of the notification. It can be retrieved from the [List notifications](./get--notifications.md) endpoint. Since the number of notifications can reach a `BigInt` and because of the limitations of the Open API format, the IDs need to be strings.","required":true,"example":"3"},{"name":"imtZoneId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the Make zone. This parameter is required to retrieve notifications from the Make version. For other Make platforms, it can be ignored. The IDs of the zones can be obtained from the `/enums/imt-zones` endpoint.","example":2}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"notification":{"allOf":[{"type":"object","properties":{"id":{"type":"string"},"subject":{"type":"string"},"read":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"type":{"type":"integer"}}},{"type":"object","properties":{"body":{"type":"string"}}}]}}},"example":{"notification":{"id":"3","subject":"Encountered error in Integration HTTP 3 scenario","read":"2020-02-29T21:20:40.093Z","created":"2020-01-22T13:54:29.748Z","type":1,"body":"<p>Your scenario <strong>Integration HTTP 3</strong> has encountered an error.</p>\n<p>The scenario has not been paused and continues to run according to your settings. Nevertheless, you should pay attention to the issue.</p>\n<ul>\n<li>Scenario: <a href=\"https://local.make.cloud/scenario/86/log\">Integration HTTP 3</a></li>\n<li>Organization: <a href=\"https://local.make.cloud/organization/2\">test team</a></li>\n<li>Team: <a href=\"https://local.make.cloud/team/1\">My Lab</a></li>\n<li>Execution: <a href=\"https://local.make.cloud/scenario/86/log/d4f49055d5f44705b2aaf77a09547b77\">d4f49055d5f44705b2aaf77a09547b77</a></li>\n</ul>\n<p>Details:</p>\n<ul>\n<li><code>Validation failed for 1 parameter(s).</code></li>\n<li><code>Missing value of required parameter &#39;{{!expect.json.label}}&#39;.</code></li>\n</ul>\n<p>If you have questions or need help, please contact us.</p>\n"}}}}}}}},"/notifications/mark-as-read":{"post":{"tags":["Notifications"],"summary":"Mark all notifications as read","description":"Marks all notifications as read and returns the IDs of the updated notifications in the response.","security":[{"token":["notifications:write"]}],"parameters":[{"name":"ids","in":"query","schema":{"type":"string"},"description":"Forces the request to mark all notifications as read. This parameter can only have the `all` value."},{"name":"imtZoneId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the Make zone. This parameter is required to retrieve notifications from the Make version. For other Make platforms, it can be ignored. The IDs of the zones can be obtained from the `/enums/imt-zones` endpoint.","example":2}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"notifications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}}}}}},"example":{"notifications":[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"}]}}}}}}},"/organizations":{"get":{"tags":["Organizations"],"summary":"List user organizations","description":"Retrieves a collection of all organizations, in which the user has membership. The response contains information about the organization `name`, `organizationId` and `timezoneId`. You can get more data about the user organizations with specifying the `cols[]` query parameter.\n\nHowever, the values for parameters `license`, `serviceName` and `isPaused` are returned only for organizations in your current Make zone.\n\nThe `privateSpaces` column lists the private spaces the caller is a member of in each organization (own private spaces only; app zones only). It needs no organization permission, unlike `GET /private-spaces`.\nReturned organizations are sorted by the organization name in ascending order by default. You can specify sorting order with the query parameter `pg[sortBy].`","security":[{"token":["organizations:read"]}],"parameters":[{"name":"zone","in":"query","description":"The URL of your Make instance domain.","schema":{"type":"string"},"example":"eu1.make.com"},{"name":"externalId","in":"query","description":"Make White Label product instances use the `externalId` parameter for security reasons. This parameter has `null` value in the public Make Cloud instance.","schema":{"type":"string"},"examples":{"all-cols":{"value":"TESTORG003"}}},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["id","name","countryId","timezoneId","license","zone","serviceName","teams","isPaused","externalId","productName","tfaEnforced","privateSpaces"]}}},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"serviceName":{"type":"string"},"nextReset":{"type":"string","format":"date-time"},"lastReset":{"type":"string","format":"date-time"},"isPaused":{"type":"boolean"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"deleted":{"type":"boolean"},"license":{"type":"object","additionalProperties":{}},"zone":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"productName":{"type":"string"},"ssoType":{"type":"string","nullable":true,"description":"The SSO authentication type configured for the organization. Possible values: 'oauth2', 'saml2', 'none', or null if not configured."},"scenarios":{"type":"integer"},"activeScenarios":{"type":"integer"},"tfaEnforced":{"type":"boolean","description":"Whether TFA is enforced for the organization."},"userSessionTimeout":{"type":"integer","description":"How long, in seconds, a user of the organization may stay inactive before being logged out.","example":86400},"featureControls":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}},"privateSpaces":{"type":"array","description":"The private spaces the requesting user is a member of within this organization.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"isOwner":{"type":"boolean","description":"Whether the requesting user owns this private space."},"hasAdminVisibility":{"type":"boolean","description":"Whether organization admins have visibility into this private space, i.e. whether the organization's \"add admins as observers\" private-spaces setting is currently enabled."}}}}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"examples":{"default-cols":{"summary":"Return default columns","description":"Return default set of information about all organizations in which the user has membership.","value":{"organizations":[{"id":5,"name":"New organization","timezoneId":113},{"id":6,"name":"New organization","timezoneId":113}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}}},"all-cols":{"summary":"Return all values","description":"Returns all available information about all organizations in which the user has membership.","value":{"organizations":[{"name":"New organization","id":5,"countryId":1,"timezoneId":113,"license":{"apps":"T2","users":50,"dslimit":40,"fslimit":2147483648,"iolimit":10000,"dsslimit":524288000,"fulltext":true,"interval":1,"transfer":1099511627776,"operations":800000000},"zone":"local.make.cloud","serviceName":"unlimited","teams":[{"id":5,"name":"My Team"}],"isPaused":false,"tfaEnforced":false,"privateSpaces":[{"id":12,"name":"John Doe","isOwner":true,"hasAdminVisibility":false}]},{"name":"New organization","id":6,"countryId":1,"timezoneId":113,"license":{"apps":"T2","users":50,"dslimit":40,"fslimit":2147483648,"iolimit":10000,"dsslimit":524288000,"fulltext":true,"interval":1,"transfer":1099511627776,"operations":800000000},"zone":"local.make.cloud","serviceName":"unlimited","teams":[{"id":6,"name":"My Team"}],"isPaused":false,"tfaEnforced":false,"privateSpaces":[{"id":13,"name":"Jane Doe","isOwner":true,"hasAdminVisibility":true}]}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}}}}}}}}},"post":{"tags":["Organizations"],"summary":"Create an organization","description":"Create a new organization using the data sent in the request body. Successful response contains all information about the created organization.","security":[{"token":["admin:write","organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the organization. The name may contain only letters, numbers, spaces, and the following special characters: `'`, `-`, `.`, `(`, `)`, `*`, `+`, `,`, `@`, `_`, `/`. The name must not start or end with a space."},"regionId":{"type":"integer","description":"ID of the Make region instance associated with the organization. Get the list of Make regions with the API call `GET /enums/imt-regions`."},"timezoneId":{"type":"integer","description":"The ID of the timezone associated with the organization. Get the list of the timezone IDs with the API call `GET /enums/timezones`."},"countryId":{"type":"integer","description":"The ID of the country associated with the organization. Get the list of the country IDs with the API call `GET /enums/countries`."}},"required":["name","regionId","timezoneId","countryId"]},"example":{"name":"New organization I","regionId":1,"timezoneId":113,"countryId":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"serviceName":{"type":"string"},"nextReset":{"type":"string","format":"date-time"},"lastReset":{"type":"string","format":"date-time"},"isPaused":{"type":"boolean"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"deleted":{"type":"boolean"},"license":{"type":"object","additionalProperties":{}},"zone":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"productName":{"type":"string"},"ssoType":{"type":"string","nullable":true,"description":"The SSO authentication type configured for the organization. Possible values: 'oauth2', 'saml2', 'none', or null if not configured."},"scenarios":{"type":"integer"},"activeScenarios":{"type":"integer"},"tfaEnforced":{"type":"boolean","description":"Whether TFA is enforced for the organization."},"userSessionTimeout":{"type":"integer","description":"How long, in seconds, a user of the organization may stay inactive before being logged out.","example":86400},"featureControls":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}},"privateSpaces":{"type":"array","description":"The private spaces the requesting user is a member of within this organization.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"isOwner":{"type":"boolean","description":"Whether the requesting user owns this private space."},"hasAdminVisibility":{"type":"boolean","description":"Whether organization admins have visibility into this private space, i.e. whether the organization's \"add admins as observers\" private-spaces setting is currently enabled."}}}}}}}},"example":{"organization":{"id":9,"name":"New organization","timezoneId":113,"countryId":1,"license":{"apps":[],"users":50,"dslimit":40,"fslimit":2147483648,"iolimit":10000,"advsched":true,"dsslimit":524288000,"fulltext":true,"interval":1,"transfer":1099511627776,"operations":800000000},"zone":"slave1.make.cloud","serviceName":"default","teams":[{"id":6,"name":"My Team"}],"isPaused":false,"tfaEnforced":false},"userOrganizationRole":{"userId":3,"organizationId":9,"usersRoleId":11,"invitation":null}}}}}}}},"/organizations/invitation":{"get":{"tags":["Organizations"],"summary":"Invitation detail","security":[{"token":["organizations:read"]}],"parameters":[{"name":"hash","in":"query","schema":{"type":"string"},"required":true,"example":"bf1effe1-bc9d-4ab3-9414-9c3b66175305"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"user":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}},"userOrganizationRole":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}}}},"examples":{"invitation-detail":{"summary":"Invitation detail","value":{"organization":{"id":13,"name":"New organization"},"user":{"id":1,"name":"Martin","email":"admin@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":1,"features":{},"avatar":"https://secure.gravatar.com/avatar/6b1a74d20d925c12a73af32bf0dd7164.jpg?d=mm"},"userOrganizationRole":{"userId":1,"organizationId":13,"usersRoleId":12,"invitation":"pending"}}}}}}}}}},"/organizations/accept-invitation":{"post":{"tags":["Organizations"],"summary":"Accept invitation","security":[{"token":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"hash":{"type":"string"}},"required":["hash"]},"example":{"hash":"bf1effe1-bc9d-4ab3-9414-9c3b66175305"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}},"userOrganizationRole":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}}}},"examples":{"accept-invitation":{"summary":"Accept invitation","value":{"user":{"id":1,"name":"Martin","email":"admin@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":1,"features":{},"avatar":"https://secure.gravatar.com/avatar/6b1a74d20d925c12a73af32bf0dd7164.jpg?d=mm"},"userOrganizationRole":{"userId":1,"organizationId":13,"usersRoleId":12,"invitation":null}}}}}}}}}},"/organizations/{organizationId}":{"get":{"tags":["Organizations"],"summary":"Get organization details","description":"Retrieves detail information of the organization with the specified `organizationId`.","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"wait","in":"query","schema":{"type":"boolean"},"description":"Set this parameter to `true` if you are using the API call `GET /organizations/{organizationId}` shortly after creating the organization. The API call will first check synchronization of the Make backend and your Make zone data. If you don't use this argument, the API call might fail with an error due to unfinished data synchronization. The default value of this argument is `false`.","example":"true"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"serviceName":{"type":"string"},"nextReset":{"type":"string","format":"date-time"},"lastReset":{"type":"string","format":"date-time"},"isPaused":{"type":"boolean"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"deleted":{"type":"boolean"},"license":{"type":"object","additionalProperties":{}},"zone":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"productName":{"type":"string"},"ssoType":{"type":"string","nullable":true,"description":"The SSO authentication type configured for the organization. Possible values: 'oauth2', 'saml2', 'none', or null if not configured."},"scenarios":{"type":"integer"},"activeScenarios":{"type":"integer"},"tfaEnforced":{"type":"boolean","description":"Whether TFA is enforced for the organization."},"userSessionTimeout":{"type":"integer","description":"How long, in seconds, a user of the organization may stay inactive before being logged out.","example":86400},"featureControls":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}},"privateSpaces":{"type":"array","description":"The private spaces the requesting user is a member of within this organization.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"isOwner":{"type":"boolean","description":"Whether the requesting user owns this private space."},"hasAdminVisibility":{"type":"boolean","description":"Whether organization admins have visibility into this private space, i.e. whether the organization's \"add admins as observers\" private-spaces setting is currently enabled."}}}}}}}},"example":{"organization":{"id":10,"name":"Organization 10","serviceName":"unlimited","nextReset":null,"operations":"0","transfer":"0","centicreditsConsumed":"0","operationsExt":"0","transferExt":"0","centicreditsExtra":"0","unusedOperations":"0","unusedTransfer":"0","unusedCenticredits":"0","isPaused":false,"countryId":1,"timezoneId":113,"ssoType":null,"deleted":false,"license":{"apps":["T2","T3"],"users":50,"dslimit":40,"fslimit":2147483648,"iolimit":10000,"dsslimit":524288000,"fulltext":true,"interval":1,"transfer":1099511627776,"operations":800000000},"features":{},"zone":"local.make.cloud","teams":[{"id":16,"name":"My Team"}],"tfaEnforced":false,"featureControls":[{"name":"ai_agents","enabled":true}],"privateSpaces":[{"id":17,"name":"John Doe","isOwner":true,"hasAdminVisibility":false}]}}}}}}},"patch":{"tags":["Organizations"],"summary":"Update organization information","description":"Updates the organization data with the values in the request body. If you don't use a parameter in the request body, Make won't change its value. You can update organization name, timezone, and country with the `name`, `timezoneId`, and `countryId` parameters.\n\nCheck the available values for the `timezoneId` and `countryId` parameters with the API calls `GET /enums/timezones` and `GET /enums/countries`.\n\nThe request response returns all organization data.","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the organization. The name may contain only letters, numbers, spaces, and the following special characters: `'`, `-`, `.`, `(`, `)`, `*`, `+`, `,`, `@`, `_`, `/`. The name must not start or end with a space."},"countryId":{"type":"integer","description":"The ID of the country associated with the organization. Get the list of the country IDs with the API call `GET /enums/countries`."},"timezoneId":{"type":"integer","description":"The ID of the timezone associated with the organization. Get the `timezoneId` values with the API call `GET /enums/timezones`."}}},"example":{"name":"Organization 10","countryId":1,"timezoneId":113}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"serviceName":{"type":"string"},"nextReset":{"type":"string","format":"date-time"},"lastReset":{"type":"string","format":"date-time"},"isPaused":{"type":"boolean"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"deleted":{"type":"boolean"},"license":{"type":"object","additionalProperties":{}},"zone":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}}},"productName":{"type":"string"},"ssoType":{"type":"string","nullable":true,"description":"The SSO authentication type configured for the organization. Possible values: 'oauth2', 'saml2', 'none', or null if not configured."},"scenarios":{"type":"integer"},"activeScenarios":{"type":"integer"},"tfaEnforced":{"type":"boolean","description":"Whether TFA is enforced for the organization."},"userSessionTimeout":{"type":"integer","description":"How long, in seconds, a user of the organization may stay inactive before being logged out.","example":86400},"featureControls":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}},"privateSpaces":{"type":"array","description":"The private spaces the requesting user is a member of within this organization.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"isOwner":{"type":"boolean","description":"Whether the requesting user owns this private space."},"hasAdminVisibility":{"type":"boolean","description":"Whether organization admins have visibility into this private space, i.e. whether the organization's \"add admins as observers\" private-spaces setting is currently enabled."}}}}}}}},"example":{"organization":{"name":"Organization 10","countryId":1,"timezoneId":113,"license":{"apps":"T2","users":50,"dslimit":40,"fslimit":2147483648,"iolimit":10000,"dsslimit":524288000,"fulltext":true,"interval":1,"transfer":1099511627776,"operations":800000000},"zone":"local.make.cloud","serviceName":"limit1","teams":[{"id":10,"name":"My Team"}],"isPaused":false,"tfaEnforced":false,"id":10}}}}}}},"delete":{"tags":["Organizations"],"summary":"Delete an organization","description":"Deletes the organization with the specified `organizationId`. Make also deletes all the teams in the organization. \n You can only delete organizations that are associated with your current Make zone. Your current Make zone is specified in the API call URL. Currently, it is either: \n - `eu1.make.com` \n - `us1.make.com`","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true,"description":"Set to `true` to confirm the organization deletion. Otherwise, if the organization has active scenarios, Make won't delete the organization and the API call returns an error."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"integer"}}},"example":{"organization":11}}}}}}},"/organizations/{organizationId}/apps":{"get":{"tags":["Organizations"],"summary":"Get a list of custom apps","description":"Get list of custom apps associated with the users in the organization. The request response contains information of both published and unpublished custom apps. The custom app name is suffixed with a random text string.","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"installedApps":{"type":"array","items":{"type":"object","properties":{"appName":{"type":"string"},"appVersion":{"type":"integer"},"organizationId":{"type":"integer"},"installedAt":{"type":"string","format":"date-time"},"installedBy":{"type":"integer"}}}}}},"example":{"installedApps":[{"appName":"custom-app-7xpqrg","appVersion":1,"organizationId":11,"installedAt":"2021-02-09T16:36:11.322Z","installedBy":1}]}}}}}}},"/organizations/{organizationId}/hooks":{"get":{"tags":["Hooks"],"summary":"List organization hooks","description":"Retrieves hooks from the teams of an organization, including private spaces. Only hooks from teams where the authenticated user has the `hooks get` permission are returned; teams without that permission are skipped. Organization admins with the `organization view` admin permission can list hooks from every team in the organization. Use `teamId` to restrict the result to one team: the request fails with `404` if the team does not belong to the organization, and with `403` if the user cannot view hooks in that team. Returned hooks are sorted by ID in ascending order by default. Use `pg[sortBy]` to sort by `name` or `hookName`.","security":[{"token":["hooks:read","organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The unique ID of the organization whose hooks will be retrieved.","schema":{"type":"integer","minimum":1},"example":5},{"name":"teamId","in":"query","description":"Restrict results to one team in the organization.","schema":{"type":"integer","minimum":1},"examples":{"filtered-by-team":{"summary":"Only hooks of one team","value":4}}},{"name":"name","in":"query","description":"Restrict results by a case-insensitive substring matched against the hook name.","schema":{"type":"string"},"example":"order"},{"name":"typeName","in":"query","description":"Restrict results to a hook type. Two native Make hook types are `gateway-webhook` and `gateway-mailhook`.","schema":{"type":"string"},"example":"gateway-webhook"},{"name":"assigned","in":"query","description":"Restrict results by whether the hook is assigned to a scenario. If set to `true`, only hooks assigned to a scenario are returned.","schema":{"type":"boolean"},"example":true},{"name":"enabled","in":"query","description":"Restrict results by enabled status.","schema":{"type":"boolean"},"example":true},{"name":"pg[limit]","in":"query","description":"The maximum number of hooks you want to get in the response.","schema":{"type":"integer","minimum":0,"maximum":10000,"default":50},"example":50},{"name":"pg[offset]","in":"query","description":"The number of hooks you want to skip before getting the hooks you want.","schema":{"type":"integer","minimum":0,"default":0},"example":0},{"name":"pg[sortBy]","in":"query","description":"The value that will be used to sort returned hooks by.","schema":{"type":"string","enum":["id","name","hookName"],"default":"id"},"example":"id"},{"name":"pg[sortDir]","in":"query","description":"The sorting direction.","schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"example":"asc"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hooks":{"type":"array","items":{"type":"object","required":["id","name","teamId","organizationId","type","enabled","gone","url"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"organizationId":{"type":"integer"},"type":{"type":"string"},"typeName":{"type":"string","nullable":true},"theme":{"type":"string","nullable":true,"format":"color"},"enabled":{"type":"boolean"},"gone":{"type":"boolean"},"url":{"type":"string"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"examples":{"all-hooks":{"summary":"Hooks from all teams the user can view","value":{"hooks":[{"id":11,"name":"My gateway-webhook webhook 1","teamId":4,"organizationId":5,"type":"web","typeName":"gateway-webhook","theme":"#c73a63","enabled":true,"gone":false,"url":"https://hook.make.com/1gqnexkk1vwxg2wpj39kg30pzp6uhe7h"},{"id":58,"name":"Test 1","teamId":9,"organizationId":5,"type":"web","typeName":"gateway-webhook","theme":"#c73a63","enabled":false,"gone":false,"url":"https://hook.make.com/d4ezzfwgyav7qaukv8dbh3l21eru0fld"}],"pg":{"sortBy":"id","sortDir":"asc","offset":0,"limit":50}}},"filtered-by-team":{"summary":"Hooks of a single team","value":{"hooks":[{"id":11,"name":"My gateway-webhook webhook 1","teamId":4,"organizationId":5,"type":"web","typeName":"gateway-webhook","theme":"#c73a63","enabled":true,"gone":false,"url":"https://hook.make.com/1gqnexkk1vwxg2wpj39kg30pzp6uhe7h"}],"pg":{"sortBy":"id","sortDir":"asc","offset":0,"limit":50}}}}}}},"400":{"description":"Bad Request - a query parameter is invalid, for example `teamId` is not a positive integer.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Bad Request","code":"SC400"}}}},"403":{"description":"Forbidden - `teamId` was provided and the user lacks the permission to view hooks in that team.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Insufficient rights.","code":"IM002"}}}},"404":{"description":"Not Found - `teamId` does not belong to the organization.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Team not found in organization.","code":"SC404"}}}}}}},"/organizations/{organizationId}/payments":{"get":{"tags":["Organizations"],"summary":"Get list of past payments","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"payments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"invoice_number":{"type":"integer"},"created":{"type":"string","format":"date-time"},"type_name":{"type":"string"},"status_name":{"type":"string"},"product_name":{"type":"object"},"payment_method":{"type":"object","properties":{"type":{"type":"string"},"card":{"type":"object","properties":{"brand":{"type":"string"},"last4":{"type":"string"},"country":{"type":"string"},"network":{"type":"string"},"exp_year":{"type":"integer"},"exp_month":{"type":"integer"},"fingerprint":{"type":"string"}}}}},"amount_total":{"type":"number"},"currency_code":{"type":"string"},"invoice_url":{"type":"string"},"hosted_invoice_url":{"type":"string"},"period_from":{"type":"string","format":"date"},"period_to":{"type":"string","format":"date"}}}}}},"example":{"payments":[{"id":"in_1JqwmsAtYi1J9zZU7sIuH39K","invoice_number":"6B52691A-0002","created":"2021-10-25T13:42:55.110Z","type_name":"Invoice","status_name":"Pending","product_name":{"cs":"FREE","en":"FREE"},"payment_method":{"type":"card","card":{"brand":"visa","last4":"4242","country":"US","network":"visa","exp_year":2024,"exp_month":4,"fingerprint":"pxynXFWHTejV4FMT"}},"amount_total":"666.00","currency_code":"usd","invoice_url":"https://stripe-upload-api.s3.us-west-1.amazonaws.com/uploads/file_1JqywUAtYi1J9zZUQpexvZno?response-content-disposition=attachment%3B%20filename%3D%22Invoice-6B52691A-0002.pdf%22%3B%20filename%2A%3DUTF-8%27%27Invoice-6B52691A-0002.pdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQOF7EIWLKRZD6LU3%2F20211101%2Fus-west-1%2Fs3%2Faws4_request&X-Amz-Date=20211101T114448Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEGwaCXVzLXdlc3QtMiJIMEYCIQCxou2KGsKnJG42r1NP3MiRrpQ00SPlcn1xZB6HHx3ppQIhAK%2FEX6XQcjDW0r8e4yKdtf3JaztyTyk6ekIUkYPiaHjcKvoDCBUQABoMMDMwNDY1NjA3MDYyIgwIY6ogrqimSlDlMhEq1wMukQCMF4exUATqXHwmmHC%2BmvZAIEbVes0%2FpMFjrg%2BEGul2ljp6GlR4o%2FBvIooJQ0fc2Z4gMLoHMeoLgO5l5Riy7Rg%2FltszuhaJqH%2Bynv%2Fjn1iuBs3LA3z2P2dyVjoEdLjGGWFoDFU%2BfPBCRPrZdlXPHoZTd%2BTNsE6cul%2F%2Fy6klQs0769cFzh03TyfCI1YzxhpSMNqSHZluWA9Cn45Z6u6Km4YpPEi4JSmuYVpzYT6rykyp1dD5S7YMQCg%2BGAGfnuz3fUy6WPh%2FO3CG5KbvEEI1CoDZ6t9jW4IwiBmRRjrso8E%2BMGo8Nc%2FsgddhRiq6QqzsgdEWsrqcMW5%2BVOTtOB%2F2xHXLm1Cq4REwezaViJcDWQFYB9Uw%2FJxa04JU0MD4iy5mjNu%2Bq5LetnLJOCrElb1GefXdHfDeJoBHPug2Ou9rCUU56xsK7T9r%2FL%2F1l0eUfp4NEoTTi6aRE%2FBURtoKTapY0yTizZiVudtYPYGA3Vi3PQlRWCrlvXFPyEk9fRzhpLMVWJbx24TTCN9BhuGAXSck1MFhSBnCpigp%2FPoZlzPQ2eKdKw6iaVbvSD1yf%2BXskhjVvEvdLtOy7Ov4mZH%2Btqq%2B335SkArhB8pkAIRWpLJHi1Kyx2aTj2kwiqP%2FiwY6pAF0q2OG7omGpklvNTB0UoyR2BijWKOGVjshqyC%2Fy6%2FeI3yuDy1Rrpi7nCGyx1f%2BISbgShoW19X2QxZg7oja6XvPj%2FppvKvNV%2BCAFG6fIolKDecD5SRs9jAO5%2FHqVa0TRfdS2m5R0jYKs5SCAn3UlPqbI02%2FKOuGqqIfcgiFCYXDTyRC8xgoqhcQYbKxxnaO7pkYXX3GcHvv%2FoMBtJJTU39EdlDlOw%3D%3D&X-Amz-Signature=8f16f7afe521ac90fa324304f18e4c7179d632fd7a04a1f051ff4710073c2cd9","hosted_invoice_url":"https://invoice.stripe.com/i/acct_1J0LwfAtYi1J9zZU/test_YWNjdF8xSjBMd2ZBdFlpMUo5elpVLF9LV2tkeG5FMm9tRFRvT29GN1ZlSXlhTFFSY1h4aEVG01000rqJfGhG","period_from":"2021-11-01T14:40:07.000Z","period_to":"2021-11-01T14:40:07.000Z"}]}}}}}}},"/organizations/{organizationId}/subscription":{"get":{"tags":["Organizations"],"summary":"Get detail of an active subscription","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"nextBill":{"type":"string","format":"datetime"},"price":{"type":"object","properties":{"id":{"type":"number"},"price":{"type":"number"},"currencyCode":{"type":"string"},"period":{"type":"string"}}},"coupon":{"type":"object","properties":{"validFrom":{"type":"string","format":"datetime"},"validTo":{"type":"string","format":"datetime"},"price":{"type":"number"},"currencyCode":{"type":"string"},"productId":{"type":"number"},"productName":{"type":"string"}}}}},"pauseStartsAt":{"type":"string","format":"date-time","nullable":true,"description":"When the pause becomes effective (end of the current paid period). Null when not paused."},"pauseEndsAt":{"type":"string","format":"date-time","nullable":true,"description":"Scheduled auto-resume date. Null when not paused."},"isSubscriptionPaused":{"type":"boolean","description":"True while the pause is in effect (subscription.pause_applied is true)."}}},"example":{"product":{"id":1,"name":"FREE","nextBill":"2021-11-26T13:31:00.082Z","price":{"id":1,"price":"0.00","currencyCode":"USD","period":"1 month"},"coupon":{"validFrom":"2021-12-12T10:47:05.334Z","validTo":"2021-12-19T10:47:17.768Z","price":"3.00","currencyCode":"usd","productId":4,"productName":"Teams"}},"pauseStartsAt":null,"pauseEndsAt":null,"isSubscriptionPaused":false}}}}}},"post":{"tags":["Organizations"],"summary":"Create a new subscription","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"priceId":{"type":"number"},"couponCode":{"type":"string"},"customer":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"},"isBusiness":{"type":"boolean"},"companyName":{"type":"string"},"taxId":{"type":"string"},"countryId":{"type":"number"},"city":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"postalCode":{"type":"string"},"state":{"type":"string"}},"required":["email","name","isBusiness","countryId"]}},"required":["priceId"]},"example":{"priceId":3,"couponCode":null,"customer":{"email":"customer@email.com","name":"John Doe","isBusiness":false,"countryId":1,"city":"Prague","line1":"Some street 1","line2":"Citypart 2"}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"number"},"url":{"type":"string"},"subscriptionId":{"type":"number"}}},"example":{"sessionId":123,"url":"http://foo.bar","subscriptionId":519}}}}}},"patch":{"tags":["Organizations"],"summary":"Change subscription","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"priceId":{"type":"number"},"customer":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"},"isBusiness":{"type":"boolean"},"companyName":{"type":"string"},"taxId":{"type":"string"},"countryId":{"type":"number"},"city":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"postalCode":{"type":"string"},"state":{"type":"string"}},"required":["email","name","isBusiness","countryId"]}},"required":["priceId"]},"example":{"priceId":3,"customer":{"email":"customer@email.com","name":"John Doe","isBusiness":false,"countryId":1,"city":"Prague","line1":"Some street 1","line2":"Citypart 2"}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}},"delete":{"tags":["Organizations"],"summary":"Cancel the active subscription","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/organizations/{organizationId}/subscription/pause":{"post":{"tags":["Organizations"],"summary":"Pause the active subscription","description":"Schedules a pause for the active monthly self-service subscription.\nThe pause becomes effective at the end of the current paid period and\nis automatically resumed on `resumeAt`. While paused the organization\nis treated as unlicensed (0 credits) and Stripe collection is suspended.\n","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"resumeAt":{"type":"string","format":"date-time","description":"Date when the subscription should automatically resume. Must be after the current period end and within 12 months."}},"required":["resumeAt"]},"example":{"resumeAt":"2026-09-01T00:00:00.000Z"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/organizations/{organizationId}/subscription/unpause":{"post":{"tags":["Organizations"],"summary":"Resume the subscription (cancel scheduled pause or resume now)","description":"Ends the pause for the subscription. If the pause is still scheduled\n(current period not yet ended) it is simply cancelled — no charge,\nno billing reset. If the pause is in effect, the subscription is\nresumed immediately, billing anchor is reset to now and a fresh\nperiod is charged.\n","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/organizations/{organizationId}/subscription/payment-method-types":{"get":{"tags":["Organizations"],"summary":"List payment method types","description":"Returns a list of available payment method types for the organization's subscription.","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethodTypes":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"},"canBeDefaultForSubscription":{"type":"boolean"},"canBeDefaultForExtras":{"type":"boolean"}}}}}},"example":{"paymentMethodTypes":[{"value":"card","label":"Card","canBeDefaultForSubscription":true,"canBeDefaultForExtras":true},{"value":"us_bank_account","label":"US bank account","canBeDefaultForSubscription":true,"canBeDefaultForExtras":false}]}}}}}}},"/organizations/{organizationId}/subscription/payment-methods":{"get":{"tags":["Organizations"],"summary":"List payment methods","description":"Returns a list of payment methods for the organization's subscription.","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"valid":{"type":"boolean"},"customerDefaultMethod":{"type":"boolean"},"customerDefaultExtrasMethod":{"type":"boolean"},"isImmediate":{"type":"boolean"},"created":{"type":"string","format":"date-time"},"methodDetails":{"type":"object","properties":{"brand":{"type":"string"},"display_brand":{"type":"string"},"last4":{"type":"string"}}}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}}}}}}},"/organizations/{organizationId}/subscription/payment-methods/{paymentMethodId}":{"delete":{"tags":["Organizations"],"summary":"Delete a payment method","description":"Deletes a payment method from the organization's subscription.","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization."},{"name":"paymentMethodId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the payment method."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer","example":1}}}}}}}}},"/organizations/{organizationId}/subscription/payment-methods/{paymentMethodId}/default":{"patch":{"tags":["Organizations"],"summary":"Set default payment method","description":"Sets a payment method as the default for the organization's subscription.","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization."},{"name":"paymentMethodId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the payment method."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","enum":["extras","both","subscription"],"description":"What to set as default. Defaults to 'both'. 'extras' and 'both' throw 400 if the payment method is not immediate. 'subscription' sets default for subscription only."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethodId":{"type":"string"},"paymentMethodType":{"type":"string"},"isDefaultForSubscription":{"type":"boolean"},"isDefaultForExtras":{"type":"boolean"}}}}}}}}},"/organizations/{organizationId}/subscription-free":{"post":{"tags":["Organizations"],"summary":"Sets Free plan subscription","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"required":false}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"integer"},"subscriptionId":{"type":"integer"}}},"example":{"customerId":213,"subscriptionId":371}}}}}}},"/organizations/{organizationId}/universal-discount":{"get":{"tags":["Organizations"],"summary":"Get universal discount","description":"Returns the current universal discount (active or dormant) for the organization. The user must have the 'payment edit' organization permission or the 'organization view' admin permission.","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":10}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"universalDiscount":{"type":"object","nullable":true,"properties":{"id":{"type":"integer"},"type":{"type":"string"},"percentOff":{"type":"number"},"validTo":{"type":"string","format":"date-time","nullable":true},"rules":{"type":"object","properties":{"lost_on_cancel":{"type":"boolean"},"lost_on_price_downgrade":{"type":"boolean"},"lost_on_price_upgrade":{"type":"boolean"},"lost_on_product_downgrade":{"type":"boolean"},"lost_on_product_upgrade":{"type":"boolean"},"lost_on_other_discount":{"type":"boolean"},"applies_to_extras":{"type":"boolean"},"redeemable_by_admin":{"type":"boolean"},"redeemable_by_user":{"type":"boolean"}}},"isActive":{"type":"boolean"},"bannerText":{"type":"string","nullable":true},"postClaimText":{"type":"string","nullable":true},"redeemUntil":{"type":"string","format":"date-time","nullable":true},"canRedeemOnCurrentPlan":{"type":"boolean"}}}}},"example":{"universalDiscount":null}}}}}}},"/organizations/{organizationId}/universal-discount/claim-cancellation-offer":{"post":{"tags":["Organizations"],"summary":"Claim cancellation offer","description":"Claims a cancellation offer discount for the organization. The user must have the 'payment edit' permission on the organization. The organization must be eligible (no existing universal discount, no active coupon/promo).","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer","minimum":1},"required":true,"example":10}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer","example":1}}},"example":{"ok":1}}}}}}},"/organizations/{organizationId}/universal-discount/redeem":{"post":{"tags":["Organizations"],"summary":"Redeem universal discount on current plan","description":"Activates a dormant universal discount on the user's current subscription. The current price must be eligible and no other discount can be active.","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":10}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"universalDiscountId":{"type":"integer","description":"The ID of the dormant universal discount to redeem","example":42}},"required":["universalDiscountId"]},"example":{"universalDiscountId":42}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer","example":1}}},"example":{"ok":1}}}}}}},"/organizations/{organizationId}/invite":{"post":{"tags":["Organizations"],"summary":"Invite a user to the organization","security":[{"token":["organizations:write"]}],"description":"Invite a user to the organization. To automatically add the user to teams, specify IDs of the teams. The user gets the team role **member**. You can change the user team role with the API call `POST /users/{userId}/user-team-roles/{teamId}`.","parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"usersRoleId":{"type":"integer","description":"The ID of the user organization role assigned to the invited user. Get list of user role IDs from the API call `GET /users/roles`."},"email":{"type":"string","description":"The user registration email.","format":"email"},"name":{"type":"string","description":"The user name visible in the team and organization interface. The name may contain only letters, numbers, spaces, and the following special characters: `'`, `-`, `.`, `(`, `)`, `*`, `+`, `,`, `@`, `_`, `/`. The name must not start or end with a space."},"note":{"type":"string","description":"Note added to the invitation."},"teamsId":{"type":"array","description":"The list of team IDs to which the invited user will be assigned. The invited user will receive the team role **member**.","items":{"type":"integer"}}},"required":["name","email","usersRoleId"]},"example":{"usersRoleId":12,"email":"tom@make.cloud","name":"Tom","note":"Hi Tom, please join our organization.","teamsId":[5,26]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}},"userOrganizationRole":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}}}},"example":{"user":{"id":31,"name":"Tom","email":"tom@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":1,"features":{},"avatar":"https://secure.gravatar.com/avatar/ada7391afa4ad83584d00afe3986aef2.jpg?d=mm"},"userOrganizationRole":{"userId":31,"organizationId":1,"usersRoleId":12,"invitation":"pending","organizationTeamsCount":2,"joinedTeamsCount":1}}}}}}}},"/organizations/{organizationId}/user-organization-roles":{"get":{"tags":["Organizations / User organization roles"],"summary":"List user roles","security":[{"token":["organizations:read"]}],"description":"Retrieves information about all users and their roles in the organization with the specified `organizationId`.","parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["userId","organizationId","userRoleId","invitation","organizationTeamsCount","joinedTeamsCount"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRoles":{"type":"array","items":{"allOf":[{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}},{"type":"object","properties":{"organizationTeamsCount":{"type":"integer"},"joinedTeamsCount":{"type":"integer"}}}]}}}},"examples":{"list":{"summary":"List user roles","description":"List all users and their roles in the specified organization.","value":{"userOrganizationRoles":[{"userId":1,"organizationId":11,"usersRoleId":11,"invitation":null},{"userId":2,"organizationId":11,"usersRoleId":13,"invitation":"expired"}]}},"all-cols":{"summary":"Get all information","description":"Get all available information about every user role in the specified organization.","value":{"userOrganizationRoles":[{"userId":1,"organizationId":11,"usersRoleId":11,"invitation":null,"organizationTeamsCount":2,"joinedTeamsCount":2},{"userId":2,"organizationId":11,"usersRoleId":13,"invitation":"expired","organizationTeamsCount":2,"joinedTeamsCount":0}]}}}}}}}}},"/organizations/{organizationId}/user-organization-roles/{userId}":{"get":{"tags":["Organizations / User organization roles"],"summary":"Get user organization role details","description":"Retrieves information about a user role in an organization with the specified `userId` and `organizationId`. Get all user role IDs with the API call `GET users/roles`.","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"userId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the user.","example":111},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["userId","organizationId","userRoleId","invitation","organizationTeamsCount","joinedTeamsCount"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRole":{"allOf":[{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}},{"type":"object","properties":{"organizationTeamsCount":{"type":"integer"},"joinedTeamsCount":{"type":"integer"}}}]}}},"examples":{"detail":{"summary":"Get user role detail","description":"Returns information about the role of the specified user in the organization.","value":{"userOrganizationRole":{"userId":111,"organizationId":11,"usersRoleId":11,"invitation":null}}},"all-cols":{"summary":"Get all available information","description":"Returns all available information about the user role in the organization.","value":{"userOrganizationRole":{"userId":111,"organizationId":11,"usersRoleId":11,"invitation":null,"organizationTeamsCount":2,"joinedTeamsCount":2}}}}}}}}}},"/organizations/{organizationId}/user-organization-roles/transfer":{"post":{"tags":["Organizations / User organization roles"],"summary":"Transfer organization ownership","security":[{"token":["organizations:write"]}],"description":"Transfer organization ownership to the specified user.","parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"integer","description":"The ID of the user."}},"required":["userId"]},"example":{"userId":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRoles":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}}}}},"example":{"userOrganizationRoles":[{"userId":12,"organizationId":10,"usersRoleId":11,"invitation":null},{"userId":1,"organizationId":10,"usersRoleId":12,"invitation":null}]}}}}}}},"/organizations/{organizationId}/sso-certificates":{"get":{"tags":["SSO certificates"],"summary":"Get SSO certificates","security":[{"token":["organizations:read"]}],"description":"Get all SSO certificates.","parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"type","in":"query","schema":{"type":"string"},"required":true,"description":"Type of SSO certificate.","example":"saml"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ssoCertificates":[{"id":4,"type":"saml","validFrom":"2024-01-29 22:10:51.903509 +00:00","validTo":"2026-02-29 22:10:51.903509 +00:00","certificate":"QOIHAD4CB0igAWIBAgIQSmIEMVCBvWhuNu5CWs4gQzANBgkqhkiG9w0BAQwFADBDMQswCQYDVQQGEwJDWjEWMBQGA1UEChMNQWxwaXJvIHMuci5vLjEcMBoGA1UEAxMTQWxwaXJvU1NMIFJTQSBEViBDQTAeFw0yMjA0MDUwMDAwMDBaFw0yMzA0MDUyMzU5NTlaMB8xHTAbBgNVBAMTFHVzMS5tYWtlLmNlbG9uaXMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgM5r629dzv9i8kYffmLgd5+PRfvMkiBAPPVUd72k5oebCoJRhLFkvi/pmzgmAhS1hWp7G5y6rv0sKInj8x92Dp8JKIn1E0gHeoG6r1boLoJ7MOqAeEQZLESTmeMEzzcbn81OcTU0/wNZMvOEOxeC6slf/6wszy2W6xLgpnyj2z7LZXuV00ICOSH5F9UyH8Za+be4JI22w3DVlK4c9Y/lWsp2psjEv5BZUS3+++YJhniL7I5YfZwEg92KECOicc6fkSfIVFLnABbIoA0/+lYEGUxl9oZ45e1TcBvtvJyPs58sAIKMRqJ8v+u5hQFksF0Qqtc5L9wtb88FS5j8ormAwIDAQABo4IDEjCCAw4wHwYDVR0jBBgwFoAUE5wiOqhkQBcstSaY2gXJNSUrv1swHQYDVR0OBBYEFJEbmZiFaAjBGHKajL/+FkRr0B2sMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgJXMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6Ly9hbHBpcm8uY3J0LnNlY3RpZ28uY29tL0FscGlyb1NTTFJTQURWQ0EuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vYWxwaXJvLm9jc3Auc2VjdGlnby5jb20wggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB1AK33vvp8/xDIi509nB4+GGq0Zyldz7EMJMqFhjTr3IKKAAABf/nur+8AAAQDAEYwRAIgGw3CjbX7xKIzKNN6Ev1YVCa5f+4OrxH9AppgHj6oefECIEtJUMjb2pn27kslObbMKQLmeP6aNufHGyhjxyt4Zi+3AHYAejKMVNi3LbYg6jjgUh7phBZwMhOFTTvSK8E6V6NS61IAAAF/+e6v9wAABAMARzBFAiBVtaS7cTyK1egJWsyhkXZnbNzji0GfPCt90A//L2u8VgIhAI5wDbveymAq8rDV1jCDTpeRCEKOCfhhV66u2in/GhpZAHcA6D7Q2j71BjUy51covIlryQPTy9ERa+zraeF3fW0GvW4AAAF/+e6vzgAABAMASDBGAiEA0+7dcwKmgfY2QzKaXloyMjbDgnXk2nVBStQSY9Q+LSUCIQCu9YAC4fmabUyKPth/pZ/T9vgBGTPCMJo/WOybAaZnOTBGBgNVHREEPzA9ghR1czEubWFrZS5jZWxvbmlzLmNvbYIlZW50ZXJwcmlzZS51czEuaW50ZWdyb21hdC5jZWxvbmlzLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAkr375yZ1G1GmSWUeYm7aPmfJeqBPrL/SJyQRMFTU2K9K3uJqgmMSQ9RVoi3pM2tKhqTAPYaX1Jnbv1594JPI+GdsSAFX/B8zJppXzkL7sqxWuBj474PFobptJzmtLPJMKIgMypmQ9sbJwIz/LyXGLeJ9yMURyZvw4+g9X1BM8hn8CR83E/ecdnfYcPra2V436lB3HfNSUiw+lFMY6364dCFhPxcrlWfFwhzUGas5dVDl+TR4jpRlLFCk7AQQodyVXInDWZZCNnay1OZha9wtBN0mUos4GLcsNBXYPS/0Wc8LfkFEKDXFlohSb3Wm5wjMPVhdBMixZh7/J2a+H9GNy+bJpWQFf23SgPzHivY1SpFhyeTPwVVarUcbpEDOLKVjQ7DjK3NBf6hIVNwNPk2XAXF5tt7fn1qiPRBJlAwzvm9hzgAIckBg6eS8rG3JYCbp1btVF4HcXO2TFRuqcTbE9BQVuJsafpZ9w8kLPF/zj7IJvSoXiC5iu9VrkbCr4emE+ZnlIkwlfcKqJF7Id+PaSTbpIx9ER8dPSPWqKwjXwi2o15xpOyxYcfUa50bkolkflygezH4+8E4kGcUTk/cmWcLFnBOL5veQF0vZby77+ZtK1rX8P+bb6vw1/QU5nbmp5biuTTuMEVT0Jy1Zq9zdYwrFYc2q+zY8ry/64U1Fmn11","status":"active","deactivationDate":null},{"id":3,"type":"saml","validFrom":"2023-01-29 22:10:51.903509 +00:00","validTo":"2025-02-29 22:10:51.903509 +00:00","certificate":"AOIHAD4CB0igAWIBAgIQSmIEMVCBvWhuNu5CWs4gQzANBgkqhkiG9w0BAQwFADBDMQswCQYDVQQGEwJDWjEWMBQGA1UEChMNQWxwaXJvIHMuci5vLjEcMBoGA1UEAxMTQWxwaXJvU1NMIFJTQSBEViBDQTAeFw0yMjA0MDUwMDAwMDBaFw0yMzA0MDUyMzU5NTlaMB8xHTAbBgNVBAMTFHVzMS5tYWtlLmNlbG9uaXMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgM5r629dzv9i8kYffmLgd5+PRfvMkiBAPPVUd72k5oebCoJRhLFkvi/pmzgmAhS1hWp7G5y6rv0sKInj8x92Dp8JKIn1E0gHeoG6r1boLoJ7MOqAeEQZLESTmeMEzzcbn81OcTU0/wNZMvOEOxeC6slf/6wszy2W6xLgpnyj2z7LZXuV00ICOSH5F9UyH8Za+be4JI22w3DVlK4c9Y/lWsp2psjEv5BZUS3+++YJhniL7I5YfZwEg92KECOicc6fkSfIVFLnABbIoA0/+lYEGUxl9oZ45e1TcBvtvJyPs58sAIKMRqJ8v+u5hQFksF0Qqtc5L9wtb88FS5j8ormAwIDAQABo4IDEjCCAw4wHwYDVR0jBBgwFoAUE5wiOqhkQBcstSaY2gXJNSUrv1swHQYDVR0OBBYEFJEbmZiFaAjBGHKajL/+FkRr0B2sMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgJXMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6Ly9hbHBpcm8uY3J0LnNlY3RpZ28uY29tL0FscGlyb1NTTFJTQURWQ0EuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vYWxwaXJvLm9jc3Auc2VjdGlnby5jb20wggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB1AK33vvp8/xDIi509nB4+GGq0Zyldz7EMJMqFhjTr3IKKAAABf/nur+8AAAQDAEYwRAIgGw3CjbX7xKIzKNN6Ev1YVCa5f+4OrxH9AppgHj6oefECIEtJUMjb2pn27kslObbMKQLmeP6aNufHGyhjxyt4Zi+3AHYAejKMVNi3LbYg6jjgUh7phBZwMhOFTTvSK8E6V6NS61IAAAF/+e6v9wAABAMARzBFAiBVtaS7cTyK1egJWsyhkXZnbNzji0GfPCt90A//L2u8VgIhAI5wDbveymAq8rDV1jCDTpeRCEKOCfhhV66u2in/GhpZAHcA6D7Q2j71BjUy51covIlryQPTy9ERa+zraeF3fW0GvW4AAAF/+e6vzgAABAMASDBGAiEA0+7dcwKmgfY2QzKaXloyMjbDgnXk2nVBStQSY9Q+LSUCIQCu9YAC4fmabUyKPth/pZ/T9vgBGTPCMJo/WOybAaZnOTBGBgNVHREEPzA9ghR1czEubWFrZS5jZWxvbmlzLmNvbYIlZW50ZXJwcmlzZS51czEuaW50ZWdyb21hdC5jZWxvbmlzLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAkr375yZ1G1GmSWUeYm7aPmfJeqBPrL/SJyQRMFTU2K9K3uJqgmMSQ9RVoi3pM2tKhqTAPYaX1Jnbv1594JPI+GdsSAFX/B8zJppXzkL7sqxWuBj474PFobptJzmtLPJMKIgMypmQ9sbJwIz/LyXGLeJ9yMURyZvw4+g9X1BM8hn8CR83E/ecdnfYcPra2V436lB3HfNSUiw+lFMY6364dCFhPxcrlWfFwhzUGas5dVDl+TR4jpRlLFCk7AQQodyVXInDWZZCNnay1OZha9wtBN0mUos4GLcsNBXYPS/0Wc8LfkFEKDXFlohSb3Wm5wjMPVhdBMixZh7/J2a+H9GNy+bJpWQFf23SgPzHivY1SpFhyeTPwVVarUcbpEDOLKVjQ7DjK3NBf6hIVNwNPk2XAXF5tt7fn1qiPRBJlAwzvm9hzgAIckBg6eS8rG3JYCbp1btVF4HcXO2TFRuqcTbE9BQVuJsafpZ9w8kLPF/zj7IJvSoXiC5iu9VrkbCr4emE+ZnlIkwlfcKqJF7Id+PaSTbpIx9ER8dPSPWqKwjXwi2o15xpOyxYcfUa50bkolkflygezH4+8E4kGcUTk/cmWcLFnBOL5veQF0vZby77+ZtK1rX8P+bb6vw1/QU5nbmp5biuTTuMEVT0Jy1Zq9zdYwrFYc2q+zY8ry/64U1Fmn11","status":"active","deactivationDate":"2025-09-29 22:10:51.903509 +00:00"},{"id":2,"type":"saml","validFrom":"2024-02-01 22:10:51.903509 +00:00","validTo":"2025-08-01 22:10:51.903509 +00:00","certificate":"11=UAD4CB0igAWIBAgIQSmIEMVCBvWhuNu5CWs4gQzANBgkqhkiG9w0BAQwFADBDMQswCQYDVQQGEwJDWjEWMBQGA1UEChMNQWxwaXJvIHMuci5vLjEcMBoGA1UEAxMTQWxwaXJvU1NMIFJTQSBEViBDQTAeFw0yMjA0MDUwMDAwMDBaFw0yMzPlMDUyMzU5NTlaMB8xHTAbBgNVBAMTFHVzMS5tYWtlLmNlbG9uaXMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgM5r629dzv9i8kYffmLgd5+PRfvMkiBAPPVUd72k5oebCoJRhLFkvi/pmzgmAhS1hWp7G5y6rv0sKInj8x92Dp8JKIn1E0gHeoG6r1boLoJ7MOqAeEQZLESTmeMEzzcbn81OcTU0/wNZMvOEOxeC6slf/6wszy2W6xLgpnyj2z7LZXuV00ICOSH5F9UyH8Za+be4JI22w3DVlK4c9Y/lWsp2psjEv5BZUS3+++YJhniL7I5YfZwEg92KECOicc6fkSfIVFLnABbIoA0/+lYEGUxl9oZ45e1TcBvtvJyPs58sAIKMRqJ8v+u5hQFksF0Qqtc5L9wtb88FS5j8ormAwIDAQABo4IDEjCCAw4wHwYDVR0jBBgwFoAUE5wiOqhkQBcstSaY2gXJNSUrv1swHQYDVR0OBBYEFJEbmZiFaAjBGHKajL/+FkRr0B2sMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgJXMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6Ly9hbHBpcm8uY3J0LnNlY3RpZ28uY29tL0FscGlyb1NTTFJTQURWQ0EuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vYWxwaXJvLm9jc3Auc2VjdGlnby5jb20wggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB1AK33vvp8/xDIi509nB4+GGq0Zyldz7EMJMqFhjTr3IKKAAABf/nur+8AAAQDAEYwRAIgGw3CjbX7xKIzKNN6Ev1YVCa5f+4OrxH9AppgHj6oefECIEtJUMjb2pn27kslObbMKQLmeP6aNufHGyhjxyt4Zi+3AHYAejKMVNi3LbYg6jjgUh7phBZwMhOFTTvSK8E6V6NS61IAAAF/+e6v9wAABAMARzBFAiBVtaS7cTyK1egJWsyhkXZnbNzji0GfPCt90A//L2u8VgIhAI5wDbveymAq8rDV1jCDTpeRCEKOCfhhV66u2in/GhpZAHcA6D7Q2j71BjUy51covIlryQPTy9ERa+zraeF3fW0GvW4AAAF/+e6vzgAABAMASDBGAiEA0+7dcwKmgfY2QzKaXloyMjbDgnXk2nVBStQSY9Q+LSUCIQCu9YAC4fmabUyKPth/pZ/T9vgBGTPCMJo/WOybAaZnOTBGBgNVHREEPzA9ghR1czEubWFrZS5jZWxvbmlzLmNvbYIlZW50ZXJwcmlzZS51czEuaW50ZWdyb21hdC5jZWxvbmlzLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAkr375yZ1G1GmSWUeYm7aPmfJeqBPrL/SJyQRMFTU2K9K3uJqgmMSQ9RVoi3pM2tKhqTAPYaX1Jnbv1594JPI+GdsSAFX/B8zJppXzkL7sqxWuBj474PFobptJzmtLPJMKIgMypmQ9sbJwIz/LyXGLeJ9yMURyZvw4+g9X1BM8hn8CR83E/ecdnfYcPra2V436lB3HfNSUiw+lFMY6364dCFhPxcrlWfFwhzUhh$5dVDl+UR4jpRlLFCk7AQQodyVXInDWZZCNnay1OZha9wtBN0mUos4GLcsNBXYPS/0Wc8LfkFEKDXFlohSb3Wm5wjMPVhdBMixZh7/J2a+H9GNy+bJpWQFf23SgPzHivY1SpFhyeTPwVVarUcbpEDOLKVjQ7DjK3NBf6hIVNwNPk2XAXF5tt7fn1qiPRBJlAwzvm9hzgAIckBg6eS8rG3JYCbp1btVF4HcXO2TFRuqcTbE9BQVuJsafpZ9w8kLPF/zj7IJvSoXiC5iu9VrkbCr4emE+ZnlIkwlfcKqJF7Id+PaSTbpIx9ER8dPSPWqKwjXwi2o15xpOyxYcfUa50bkolkflygezH4+8E4kGcUTk/cmWcLFnBOL5veQF0vZby77+ZtK1rX8P+bb6vw1/QU5nbmp5biuTTuMEVT0Jy1Zq9zdYwrFYc2q+zY8ry/64U1Fqq9M","status":"inactive","deactivationDate":null}]}}}}}}},"/organizations/{organizationId}/variables":{"get":{"tags":["Organizations"],"summary":"List organization variables","description":"Retrieves the collection of organization variables. The response contains all organization variables if your account has the custom variables feature available. Otherwise, the response contains only Make system variables.\n\nCheck availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["organization-variables:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationVariables":{"type":"object","properties":{"typeId":{"type":"integer"},"name":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"isSystem":{"type":"boolean"}}}}},"example":{"organizationVariables":{"name":"userId","typeId":1,"value":123,"isSystem":false}}}}}}},"post":{"tags":["Organizations"],"summary":"Create organization variable","description":"Creates new organization variable. You can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nA successful response contains all information about the new variable. If you don't have the custom variables feature available then the API call returns the error 404.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["organization-variables:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"typeId":{"type":"number","description":"Number representing the type of the custom variable. The mapping of `typeId` and variable types is as follows:\n\n- 1: `number`,\n - 2: `string`,\n - 3: `boolean`,\n - 4: `date`in ISO 8601 compliant format `YYYY-MM-DDTHH:mm:ss.sssZ`. For example: `1998-03-06T12:31:00.000Z`."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"Value assigned to the custom variable."},"name":{"type":"string","description":"The name of the variable. You can use letters, digits, `$` and `_` characters in the custom variable name."}}},"example":{"typeId":1,"value":123,"name":"userId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationVariable":{"type":"object","properties":{"typeId":{"type":"integer"},"name":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"isSystem":{"type":"boolean"}}}}},"example":{"organizationVariable":{"name":"userId","typeId":1,"value":123,"isSystem":false}}}}}}}},"/organizations/{organizationId}/variables/{variableName}":{"patch":{"tags":["Organizations"],"summary":"Update organization variable","description":"Updates custom organization variable with the specified variable `name`. Only parameters specified in the request body are updated.\n\nYou can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nA successful response contains all information about the updated variable. If you don't have the custom variables feature available then the API call returns the error 404.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for the Make pricing plans overview.\n\nUpdate the variable `typeId` accordingly when you are updating the variable `value`. Make checks whether the variable type and value match in the request body. There is no check for incorrect variable type when you update only variable value and _vice versa_.","security":[{"token":["organization-variables:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"variableName","in":"path","schema":{"type":"string"},"required":true,"description":"The name of the custom variable.","example":"userID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"typeId":{"type":"number","description":"Number representing the type of the custom variable. The mapping of `typeId` and variable types is as follows:\n\n- 1: `number`,\n - 2: `string`,\n - 3: `boolean`,\n - 4: `date`in ISO 8601 compliant format `YYYY-MM-DDTHH:mm:ss.sssZ`. For example: `1998-03-06T12:31:00.000Z`."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"Value assigned to the custom variable."}}},"example":{"value":251}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationVariable":{"type":"object","properties":{"typeId":{"type":"integer"},"name":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"isSystem":{"type":"boolean"}}}}},"example":{"organizationVariable":{"name":"userId","typeId":1,"value":251}}}}}}},"delete":{"tags":["Organizations"],"summary":"Delete organization variable","description":"Deletes organization variable.\n\nIf you don't have the custom variables feature available then the API call returns the error 404. Check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}`. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["organization-variables:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"variableName","in":"path","schema":{"type":"string"},"required":true,"description":"The name of the custom variable.","example":"userID"},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to confirm deleting the custom variable. Otherwise the API call fails with the error IM004 (406).","example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/organizations/{organizationId}/variables/{variableName}/history":{"get":{"tags":["Organizations"],"summary":"History of custom variable updates","description":"Gets the history of updates of the specified custom variable. The response contains the ID value of the variable history entry and a `diffObject`. The `diffObject` contains:\n\n- the original value,\n - the new value,\n - the timestamp of the update,\n - the author of the update.\n\nIf the variable doesn't have any updates, the `diffObject` contains the current value of the variable instead of the original and new values.\n\nThe update history entries are sorted from newest to latest.","security":[{"token":["organization-variables:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"variableName","in":"path","schema":{"type":"string"},"required":true,"description":"The name of the custom variable.","example":"userID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationVariableHistory":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"integer"},"diffObject":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"typeId":{"type":"integer"}}},"changed":{"type":"string","format":"date"},"action":{"type":"string","description":"organization_variable_created or organization_variable_edited or team_variable_created or team_variable_edited"},"author":{"type":"string"}}},{"type":"object","properties":{"id":{"type":"integer"},"diffObject":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"typeId":{"type":"integer"}}},"changed":{"type":"string","format":"date"},"action":{"type":"string"},"author":{"type":"string"}}}]}}}},"example":{"organizationVariableHistory":[{"id":1,"diffObject":{"name":"userId","value":25,"typeId":1},"changed":"2022-08-02T09:37:05.364Z","action":"organization_variable_created","author":"Jon Doe"},{"id":2,"diffObject":{"old":{"value":25,"typeId":1},"new":{"value":140,"typeId":1}},"changed":"2022-08-02T09:37:05.364Z","action":"organization_variable_edited","author":"Jon Doe"}]}}}}}}},"/organizations/{organizationId}/usage":{"get":{"tags":["Organizations"],"summary":"Get organization usage","description":"Retrieves a list of daily centicredits, operations, and data transfer usage across all scenarios within all teams in the specified organization for the past 30 days.\n\nBy default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe.\n\nTo use the organization's timezone instead, set the `organizationTimezone` parameter to `true`. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours.\n\nFor instance, a remote data analyst in India working for a Czech company can set `organizationTimezone=true` to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis.\n\nFor more information on timezones in Make, please refer to our [Help Center article](https://www.make.com/en/help/general/manage-time-zones).\n","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11},{"name":"organizationTimezone","in":"query","schema":{"type":"boolean"},"required":false,"description":"When set to `true`, the endpoint will calculate and return usage data based on the organization's timezone instead of the user's local timezone.","example":true}],"responses":{"200":{"description":"Successfully retrieved usage data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"operations":{"type":"integer"},"dataTransfer":{"type":"integer"},"centicredits":{"type":"bigint"}}}}}},"example":{"data":[{"date":"2024-05-30","operations":9,"dataTransfer":135,"centicredits":900},{"date":"2024-05-31","operations":15,"datatransfer":157,"centicredits":1500}]}}}}}}},"/organizations/{organizationId}/feature-controls":{"get":{"tags":["Organizations"],"summary":"Get organization feature controls","description":"Retrieves all feature controls for the specified organization. Response order of the feature controls is by descending ID.\n","parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11},{"name":"featureControlName","in":"query","description":"The feature control name.","schema":{"type":"string"},"required":false,"example":"Make AI Tools"},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","required":false}],"responses":{"200":{"description":"Successfully retrieved feature controls","content":{"application/json":{"schema":{"type":"object","properties":{"enableAllControlFeatures":{"type":"boolean"},"featureControls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"object"},"description":{"type":"object"},"tags":{"type":"array","items":{"type":"string"}},"warning_message":{"type":"object"},"enabled":{"type":"boolean"}}}}}},"example":{"enableAllControlFeatures":false,"featureControls":[{"id":2,"name":"Make AI Tools","label":{"en":"Make AI Tools"},"description":{"en":"Access to Make AI Tools"},"tags":["Beta"],"warning_message":{"en":"This feature is in beta."},"enabled":true},{"id":1,"name":"Advanced Security","label":{"en":"Advanced AI Security"},"description":{"en":"Enhanced security features for your organization"},"tags":["AI"],"warning_message":{"en":"This feature uses AI."},"enabled":false}]}}}}}},"patch":{"tags":["Organizations"],"summary":"Patch organization feature controls","description":"Enable or disable feature control for the specified organization.\n","parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the feature control."},"enabled":{"type":"boolean","description":"Indicates whether the feature control is enabled (true) or disabled (false)."}}},"example":{"id":1,"enabled":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"featureControls":{"type":"object","properties":{"id":{"type":"integer"},"enabled":{"type":"boolean"}}}}},"example":{"featureControl":{"id":1,"enabled":true}}}}}}}},"/organizations/{organizationId}/tfa-enforcement":{"patch":{"tags":["Organizations"],"summary":"Set TFA enforcement for an organization","description":"Enables or disables two-factor authentication (TFA) enforcement for the specified organization.\n\nWhen TFA enforcement is enabled, all users in the organization are required to have two-factor authentication configured.\nUsers who do. not have TFA enabled will be automatically logged out.\n\n**Note:** This endpoint is available only for organizations with a plan that supports TFA enforcement.\n","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["enable"],"properties":{"enable":{"type":"boolean","description":"Set to `true` to enable TFA enforcement for the organization, or `false` to disable it."}}},"example":{"enable":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","description":"Partial organization object containing the updated TFA enforcement status","properties":{"tfaEnforced":{"type":"boolean","description":"Indicates whether TFA enforcement is enabled for the organization"}}}}},"example":{"organization":{"tfaEnforced":true}}}}},"400":{"description":"Bad request - TFA enforcement feature is not available","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"TFA enforcement is not available.","code":"SC400"}}}},"402":{"description":"Payment required - Upgrade your plan to use TFA enforcement feature","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"For TFA enforcement feature upgrade your plan.","code":"SC402"}}}},"403":{"description":"Forbidden - Insufficient rights to modify organization settings","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Insufficient rights","code":"IM002"}}}}}}},"/organizations/{organizationId}/private-spaces-settings":{"get":{"tags":["Organizations"],"summary":"Get the organization's private-spaces settings","description":"Returns the private-spaces settings for the organization.\n\nWhen the organization has no private-spaces settings configured yet, defaults are returned:\n- `privateSpacesAutoCreationEnabled` defaults to `false`\n- `defaultOperationsLimit` defaults to `1000`\n- `addAdminsAsObservers` defaults to `false`\n\nOnce configured, the stored value is returned as-is — including an explicit `null`, which means **unlimited** operations (distinct from the never-configured default of `1000`).\n","security":[{"token":["organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"privateSpacesSettings":{"type":"object","properties":{"privateSpacesAutoCreationEnabled":{"type":"boolean","description":"When `true`, a private space is automatically created for each new member of the organization."},"defaultOperationsLimit":{"type":"integer","nullable":true,"description":"Default operations limit applied when a private space is auto-created. `null` means unlimited. Defaults to `1000` when never configured."},"addAdminsAsObservers":{"type":"boolean","description":"When `true`, organization admins and the owner are added as `Team Observer` to private spaces. Defaults to `false`."}}}}},"example":{"privateSpacesSettings":{"privateSpacesAutoCreationEnabled":true,"defaultOperationsLimit":10000,"addAdminsAsObservers":true}}}}},"403":{"description":"Forbidden - Insufficient rights to view organization settings","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Access denied.","code":"SC403"}}}},"404":{"description":"Organization not found","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Organization not found.","code":"IM550"}}}}}},"patch":{"tags":["Organizations"],"summary":"Update the organization's private-spaces settings","description":"Updates the organization's private-spaces settings. All body fields are optional — only the keys provided are written.\n\n### Confirmation requirement\nThe `?confirmed=true` query parameter is required when the request includes any of these bulk operations, otherwise the endpoint responds with `IM004`:\n- `privateSpacesAutoCreationEnabled: true` — **bulk-creates a private space for every eligible organization member** (those holding the `personal team own view` permission) that does not already own one.\n- `privateSpacesAutoCreationEnabled: false` — **also deletes every existing private-space team in the organization.**\n- `addAdminsAsObservers: true` / `false` — **reconciles every existing private-space team**: enabling adds org admins/owner as `Team Observer`; disabling removes those implicit observers.\n- `bulkUpdateExistingLimits: true` — overwrites `limits.operations` on every existing private-space team in the organization to match the `defaultOperationsLimit`, and re-evaluates each team's pause state. `defaultOperationsLimit` **must be provided in the same request** when `bulkUpdateExistingLimits` is `true` (a number, or `null` for unlimited), otherwise the request is rejected with `IM005`. This ensures the value applied org-wide is stated explicitly rather than implicitly inherited from the org's currently stored setting.\n\nChanging `defaultOperationsLimit` alone (to any value, including `null` / `0` / lower) only affects future creations and does NOT require confirmation.\n\n### License requirement\nEnabling `addAdminsAsObservers` requires the organization to hold the `privateSpacesObservability` license parameter. Without it, the request is rejected with `SC402`.\n\n### Owner-only field\n`addAdminsAsObservers` can be changed **only by the organization owner**. Other organization admins may update the remaining settings on this endpoint, but a request that includes `addAdminsAsObservers` (either `true` or `false`) from a non-owner is rejected with `IM002`.\n","security":[{"token":["organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization.","schema":{"type":"integer"},"required":true,"example":11},{"name":"confirmed","in":"query","description":"Required when enabling/disabling auto-creation, toggling admin observers, or bulk-updating existing limits.","schema":{"type":"boolean"},"required":false,"example":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"privateSpacesAutoCreationEnabled":{"type":"boolean","description":"When `true`, new members of the organization automatically get a private space."},"defaultOperationsLimit":{"type":"integer","nullable":true,"minimum":0,"maximum":2000000000,"description":"Default operations limit applied when a private space is auto-created. Pass `null` to set unlimited operations. The maximum matches the highest number of credits an organization can be licensed for."},"bulkUpdateExistingLimits":{"type":"boolean","description":"When `true`, applies `defaultOperationsLimit` to every existing private-space team in the organization. Requires `defaultOperationsLimit` to be provided in the same request (rejected with `IM005` otherwise)."},"addAdminsAsObservers":{"type":"boolean","description":"When `true`, organization admins/owner are added as `Team Observer` to private spaces (and to all existing ones); when `false`, those implicit observers are removed. **Settable by the organization owner only** — a non-owner request including this field is rejected with `IM002`. Enabling requires the `privateSpacesObservability` license (rejected with `SC402` otherwise)."}}},"example":{"privateSpacesAutoCreationEnabled":true,"defaultOperationsLimit":10000,"addAdminsAsObservers":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"privateSpacesSettings":{"type":"object","properties":{"privateSpacesAutoCreationEnabled":{"type":"boolean"},"defaultOperationsLimit":{"type":"integer","nullable":true},"addAdminsAsObservers":{"type":"boolean"}}},"bulkCreatedTeamIds":{"type":"array","items":{"type":"integer"},"description":"IDs of private-space teams created by enabling auto-creation. Empty unless `privateSpacesAutoCreationEnabled` was set to `true`."},"bulkUpdatedTeamIds":{"type":"array","items":{"type":"integer"},"description":"IDs of private-space teams whose limits were overwritten by the bulk update. Empty unless `bulkUpdateExistingLimits` was set."},"bulkDeletedTeamIds":{"type":"array","items":{"type":"integer"},"description":"IDs of private-space teams that were deleted as part of disabling auto-creation. Empty unless `privateSpacesAutoCreationEnabled` was set to `false`."},"observersAddedTeamIds":{"type":"array","items":{"type":"integer"},"description":"IDs of private-space teams that gained admin `Team Observer` memberships. Empty unless `addAdminsAsObservers` was set to `true`."},"observersRemovedTeamIds":{"type":"array","items":{"type":"integer"},"description":"IDs of private-space teams that had admin `Team Observer` memberships removed. Empty unless `addAdminsAsObservers` was set to `false`."}}},"example":{"privateSpacesSettings":{"privateSpacesAutoCreationEnabled":true,"defaultOperationsLimit":10000,"addAdminsAsObservers":true},"bulkCreatedTeamIds":[],"bulkUpdatedTeamIds":[],"bulkDeletedTeamIds":[],"observersAddedTeamIds":[],"observersRemovedTeamIds":[]}}}},"400":{"description":"Bad request - Invalid body","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Validation failed.","code":"SC400"}}}},"402":{"description":"Payment required - The organization lacks the `privateSpacesObservability` license needed to enable admin observers","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Adding admins as observers requires the private spaces observability license.","code":"SC402"}}}},"403":{"description":"Forbidden - Insufficient rights to modify organization settings, or a non-owner attempted to change `addAdminsAsObservers`","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Localized message for the error code. Generic (\"Insufficient rights\") by default; when the `permission_check_verbose_errors` setting is enabled it names the required permission, e.g. `organization permission \"organization manage\" is needed.`"},"code":{"type":"string"}}},"example":{"message":"Insufficient rights","code":"IM002"}}}},"406":{"description":"Confirmation required for a bulk change","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}}},"example":{"message":"Confirmation required to bulk-create, bulk-delete, bulk-update limits, or change admin observers.","code":"IM004","detail":"[{\"type\":\"privateSpacesSettingsDestructive\",\"normalTextFormat\":true}]"}}}}}}},"/organizations/{organizationId}/check-team-permission":{"get":{"tags":["Organizations"],"summary":"Check team permission within organization","description":"Checks if the current user has a specific team (company) permission on any team within the specified organization.\nReturns `hasPermission: true` if the user has the permission on at least one team in the organization,\notherwise returns `hasPermission: false`.\n","parameters":[{"name":"organizationId","in":"path","description":"The ID of the organization to check permissions within.","schema":{"type":"integer"},"required":true,"example":123},{"name":"teamPermission","in":"query","description":"The name of the team permission to check. This should be a valid company/team permission name\n(e.g., 'scenario add', 'scenario view', 'team view', 'connection add').\n","schema":{"type":"string"},"required":true,"example":"scenario add"}],"responses":{"200":{"description":"Successfully checked permission","content":{"application/json":{"schema":{"type":"object","properties":{"hasPermission":{"type":"boolean","description":"Indicates whether the user has the specified permission on at least one team\nwithin the organization.\n"}}},"examples":{"hasPermission":{"summary":"User has permission","value":{"hasPermission":true}},"noPermission":{"summary":"User does not have permission","value":{"hasPermission":false}}}}}},"400":{"description":"Bad request - missing or invalid teamPermission parameter","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Bad Request","code":"SC400"}}}},"401":{"description":"User is not logged in","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"User is not logged in.","code":"IM015"}}}},"403":{"description":"Access denied - user does not have access to the organization","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Access denied.","code":"SC403"}}}}}}},"/organizations/{organizationId}/managed-organizations":{"get":{"tags":["MMS"],"summary":"List of child organizations","description":"Retrieves the collection of child organizations. If no organization found response will contain empty array in `managedOrganizations` variable.\n\nRefer to the [MMS page](https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview.","security":[{"token":["managed-organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"managedOrganizations":{"type":"array","items":{"type":"object","properties":{"organizationId":{"type":"integer"},"organizationName":{"type":"string"},"operationsAllocated":{"type":"integer"},"countryId":{"type":"integer"},"timezoneId":{"type":"integer"},"zoneId":{"type":"integer"},"zoneDomain":{"type":"string"},"zoneName":{"type":"string"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"managedOrganizations":[{"organizationId":40,"organizationName":"Your child organization","operationsAllocated":10000,"countryId":1,"timezoneId":113,"zoneId":1,"zoneDomain":"eu1.make.com","zoneName":"EU1"}],"pg":{"sortBy":"name","limit":10000,"sortDir":"asc","offset":0}}}}}}},"post":{"tags":["MMS"],"summary":"Create child organization","description":"A successful response contains information about the new organization and user.\n\nThe endpoint requires `regionId` and `countryId` in the request body. The `regionId` can be retrieved from the GET `/enums/imt-regions` endpoint, and the `countryId` can be found in GET `/enums/countries`.\n\nThe `operations` parameter must be a multiple of 10000. The user name can be an existing user or an external contact without a Make account yet.\n\nRefer to the [MMS page](https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview.","security":[{"token":["managed-organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userEmail":{"type":"string","format":"email"},"userName":{"type":"string"},"organizationName":{"type":"string"},"regionId":{"type":"integer"},"countryId":{"type":"integer"},"operations":{"type":"integer"}}},"example":{"userEmail":"example@make.com","userName":"John Doe","organizationName":"Your child organization","regionId":1,"countryId":1,"operations":10000}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"integer"},"userEmail":{"type":"string","format":"email"},"userName":{"type":"string"},"userLanguage":{"type":"string"},"userExisted":{"type":"integer"},"childOrganizationId":{"type":"integer"},"newParentOperations":{"type":"integer"},"domain":{"type":"string"}}},"example":{"userId":123,"userEmail":"example@make.com","userName":"John Doe","userLanguage":"en","userExisted":true,"childOrganizationId":123,"newParentOperations":10000,"domain":"eu1.make.com"}}}}}}},"/organizations/{organizationId}/managed-organizations-consumption":{"get":{"tags":["MMS"],"summary":"List of child organizations consumption","description":"Retrieves the collection of child organizations with consumption of opertaions/credits. If no organization found response will contain empty array in `managedOrganizationsConsumption` variable.\n\nRefer to the [MMS page](https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview.","security":[{"token":["managed-organizations:read"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"managedOrganizationsConsumption":{"type":"array","items":{"type":"object","properties":{"organizationId":{"type":"integer"},"centicreditsConsumed":{"type":"string"},"centicreditsExtra":{"type":"string"},"operationsConsumed":{"type":"number"},"operationsExtra":{"type":"number"},"transferConsumed":{"type":"number"},"transferExtra":{"type":"number"},"lastReset":{"type":"string","format":"date-time"}}}}}},"example":{"managedOrganizationsConsumption":[{"organizationId":40,"centicreditsConsumed":"12345","centicreditsExtra":"12345","operationsConsumed":12345,"operationsExtra":12345,"transferConsumed":"12345","transferExtra":"12345"}]}}}}}}},"/organizations/{organizationId}/managed-organizations/{childOrganizationId}":{"patch":{"tags":["MMS"],"summary":"Update allocation of a child organization operations","description":"A successful response contains summary of new operation limits for parent and child organization.\n\nThe `operations` parameter must be a multiple of 10000.\n\nRefer to the [MMS page](https://help.make.com/make-managed-services-mms) for Make Managed Services (MMS) overview.","security":[{"token":["managed-organizations:write"]}],"parameters":[{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11},{"name":"childOrganizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the child organization.","example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"operations":{"type":"integer"}}},"example":{"operations":10000}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"newParentOperations":{"type":"integer"},"newChildOperations":{"type":"integer"},"operationsDiff":{"type":"integer"},"limitIncreased":{"type":"boolean"}}},"example":{"newParentOperations":20000,"newChildOperations":10000,"operationsDiff":10000,"limitIncreased":true}}}}}}},"/rpcs/{appName}/{appVersion}/{rpcName}":{"post":{"tags":["Remote procedures"],"summary":"Call RPC","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"}}}}}},"example":{"data":{"id":"1","jidlo":"Černá zabijačková"},"schema":[{"name":"id","type":"integer","required":true},{"name":"jidlo","type":"text","required":true}]}}}},"responses":{"200":{"description":"Successful response"}},"parameters":[{"name":"appName","in":"path","schema":{"type":"string"},"required":true},{"name":"appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"rpcName","in":"path","schema":{"type":"string"},"required":true},{"name":"teamId","in":"query","schema":{"type":"integer","minimum":1},"required":false,"description":"Optional authorized Team context made available to the RPC. Calls without a Team remain valid. Rejected with a 400 if present but not a positive integer.","example":42},{"name":"imt-remote-formula","in":"header","schema":{"type":"integer"},"example":"1"},{"name":"imt-ignore-required","in":"header","schema":{"type":"string"},"example":"yes"},{"name":"imt-validate-schema","in":"header","schema":{"type":"string"},"example":"yes"}]},"options":{"tags":["Remote procedures"],"summary":"Process action","parameters":[{"name":"appName","in":"path","schema":{"type":"string"},"required":true},{"name":"appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"rpcName","in":"path","schema":{"type":"string"},"required":true},{"name":"imt-remote-formula","in":"header","schema":{"type":"integer"},"example":"1"},{"name":"imt-ignore-required","in":"header","schema":{"type":"string"},"example":"yes"},{"name":"imt-validate-schema","in":"header","schema":{"type":"string"},"example":"yes"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"config":{"type":"array","items":{}}}},"examples":{"process-action":{"summary":"Process action","value":{"config":[]}}}}}}}}},"/scenarios":{"get":{"tags":["Scenarios"],"summary":"List scenarios","description":"Retrieves a collection of all scenarios for a team or an organization with a given ID. Returned scenarios are sorted by proprietary setting in descending order.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The unique ID of the team whose scenarios will be retrieved. If this parameter is set, the `organizationId` parameter must be skipped. For each request either `teamId` or `organizationId` must be defined.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"description":"The unique ID of the organization whose scenarios will be retrieved. If this parameter is set, the `teamId` parameter must be skipped. For each request either `teamId` or `organizationId` must be defined.","name":"organizationId","in":"query","schema":{"type":"integer"},"example":11},{"name":"id[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"description":"The array of IDs of scenarios to retrieve.","example":[1,2,3]},{"description":"The unique ID of the folder containing scenarios you want to retrieve. By default, only scenarios directly assigned to this folder are returned.","name":"folderId","in":"query","schema":{"type":"integer"},"example":1},{"name":"includeSubfolders","in":"query","schema":{"type":"boolean"},"description":"When set to `true` with `folderId`, also returns scenarios assigned to descendant folders up to the scenario folder nesting limit."},{"name":"labelIds[]","in":"query","schema":{"type":"array","items":{"type":"integer","minimum":0}},"description":"Returns scenarios carrying any of the given labels (OR semantics) — a scenario is included\nif it has at least one of the listed labels. Composes with other filters (e.g. `folderId`,\n`name`) using AND. Omit this parameter, or pass an empty array, to skip label filtering.\nIgnored when `deleted` is set to `true`.\n","example":[1,2]},{"name":"isActive","in":"query","schema":{"type":"boolean"},"description":"Set this parameter to `true` to get only active scenarios in the response.\n","example":true},{"name":"islinked","in":"query","schema":{"type":"boolean"},"deprecated":true,"description":"This parameter is deprecated. Use the `isActive` parameter to filter for active scenarios instead.\n","example":true},{"name":"concept","in":"query","schema":{"type":"boolean"},"description":"If set to `true`, the response contains only scenario concepts.","example":true},{"name":"type","in":"query","schema":{"type":"string","enum":["scenario","tool"]},"description":"Limits the type of scenarios to be retrieved.","example":"scenario"},{"name":"deleted","in":"query","schema":{"type":"boolean"},"description":"Set this parameter to `true` to list scenarios currently in the trash — scenarios that\nwere deleted and are still within the 30-day recovery window. When omitted (the default),\ndeleted scenarios are excluded from the response.\n","example":true},{"name":"name","in":"query","schema":{"type":"string"},"description":"Filters scenarios by name using a case-insensitive substring match.","example":"My scenario"},{"name":"search","in":"query","schema":{"type":"string"},"description":"Searches scenario names using a case-insensitive literal substring match. An empty value is treated as omitted. A positive integer, optionally surrounded by spaces, also matches the scenario with that exact ID; the original untrimmed value remains the name substring. A blank-only value therefore searches names for those spaces and does not match by ID. Partial, signed, decimal, leading-zero, and out-of-range IDs do not match by ID.","examples":{"default":{"value":"925"}}},{"name":"isinvalid","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to return only invalid scenarios (those whose blueprint failed validation), or `false` to return only valid ones.","example":true},{"name":"islocked","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to return only locked scenarios, or `false` to return only unlocked ones.","example":true},{"name":"createdByUserName","in":"query","schema":{"type":"string"},"description":"Filters scenarios by the name of the user who created them.","example":"John Doe"},{"name":"updatedByUserName","in":"query","schema":{"type":"string"},"description":"Filters scenarios by the name of the user who last updated them.","example":"John Doe"},{"name":"dlqCount","in":"query","schema":{"type":"integer","minimum":0},"description":"Filters scenarios by their number of unresolved incomplete executions.","example":0},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","hookId","devices","deviceId","deviceScope","description","folderId","concept","folderPath","isinvalid","islinked","isActive","islocked","isPaused","usedPackages","usedModules","lastEdit","scheduling","iswaiting","dlqCount","allDlqCount","chainingRole","isShared","type","createdByUser","updatedByUser","created","nextExec","operations","centicredits","transfer","executions","errors","customProperties","templateMetadata","deleted","deletedAt","labels"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"schema":{"type":"string","enum":["proprietal","id","name","teamId","folderId","isActive","islinked","isinvalid","islocked","lastEdit","createdByUserName","updatedByUserName","created","dlqCount","operations","executions","centicredits","transfer","errors"],"default":"proprietal"},"description":"The value that will be used to sort returned entities by.","name":"pg[sortBy]","in":"query"},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."}],"responses":{"200":{"description":"Retrieved scenarios","content":{"application/json":{"schema":{"type":"object","properties":{"scenarios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"hookId":{"type":"integer"},"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"}}}},"deviceId":{"type":"integer","deprecated":true},"deviceScope":{"type":"string","deprecated":true},"description":{"type":"string"},"folderId":{"type":"integer","nullable":true},"concept":{"type":"boolean","description":"Whether the scenario is a concept (a work-in-progress scenario that has never been activated)."},"folderPath":{"type":"string","nullable":true,"description":"Slash-separated folder path for the scenario, for example `CRM/cleanup`."},"isinvalid":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true},"isActive":{"type":"boolean"},"islocked":{"type":"boolean"},"isPaused":{"type":"boolean"},"usedPackages":{"type":"array","items":{"type":"string"}},"usedModules":{"type":"array","description":"The apps and modules used in the scenario.","items":{"type":"object","properties":{"packageName":{"type":"string"},"moduleName":{"type":"string"}}}},"lastEdit":{"type":"string","format":"date-time"},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"iswaiting":{"type":"boolean"},"dlqCount":{"type":"integer","description":"The number of unresolved incomplete executions of the scenario."},"allDlqCount":{"type":"integer","description":"The total number of incomplete executions of the scenario, including resolved ones."},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"updatedByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"nextExec":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"scenarioVersion":{"type":"integer"},"moduleSequenceId":{"type":"integer"},"type":{"type":"string","enum":["scenario","tool"]},"chainingRole":{"type":"string","nullable":true,"description":"The scenario's role in a scenario chain (for example when it is triggered by another scenario), or `null` when the scenario is not part of a chain."},"isShared":{"type":"boolean","description":"Whether the scenario is shared."},"operations":{"type":"integer","description":"The number of operations consumed by the scenario in the reported period."},"centicredits":{"type":"integer","description":"The number of centicredits consumed by the scenario in the reported period."},"transfer":{"type":"integer","description":"The amount of data transferred by the scenario in the reported period, in bytes."},"executions":{"type":"integer","description":"The number of times the scenario was executed in the reported period. Returned only when requested via `cols[]`."},"errors":{"type":"integer","description":"The number of failed executions of the scenario in the reported period. Returned only when requested via `cols[]`."},"customProperties":{"type":"object","nullable":true,"additionalProperties":{},"description":"The scenario's custom-property values keyed by property name, or `null` when custom properties are not included in the organization's license. Returned only when requested via `cols[]`."},"templateMetadata":{"type":"object","nullable":true,"description":"Metadata linking the scenario to the template it was created from, or `null` when the scenario was not created from a template. Returned only when requested via `cols[]`.","properties":{"isOem":{"type":"boolean"},"versionId":{"type":"integer"},"metadataId":{"type":"integer"},"instantiableId":{"type":"integer"}}},"deleted":{"type":"boolean","description":"Whether the scenario is currently soft-deleted (in the trash). Returned only when requested via `cols[]`."},"deletedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the scenario was moved to the trash, or `null` if it is not deleted. Returned only when requested via `cols[]`."},"labels":{"type":"array","description":"Team labels assigned to the scenario, sorted by label name case-insensitively. Available when scenario labels are enabled: the scenario list endpoint returns them by default, while the scenario detail endpoint returns them only when requested via `cols[]`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}}},"pg":{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}}}},"examples":{"list":{"summary":"A page of scenarios","value":{"scenarios":[{"id":925,"name":"New scenario","teamId":215,"hookId":null,"devices":[],"deviceId":null,"deviceScope":null,"concept":false,"description":"","folderId":null,"isinvalid":false,"islinked":false,"isActive":false,"islocked":false,"isPaused":false,"usedPackages":["json"],"usedModules":[{"packageName":"json","moduleName":"ParseJSON"}],"lastEdit":"2021-09-22T06:40:56.692Z","scheduling":{"type":"indefinitely","interval":900},"iswaiting":false,"dlqCount":0,"allDlqCount":0,"createdByUser":{"id":985,"name":"John Doe","email":"j.doe@example.com"},"updatedByUser":{"id":986,"name":"John Foo","email":"j.foo@example.com"},"nextExec":"2021-09-22T06:41:56.692Z","created":"2021-10-22T06:41:56.692Z","type":"scenario","chainingRole":null,"isShared":false,"operations":1200,"centicredits":34,"transfer":8192,"labels":[{"id":42,"name":"Acme","colour":"brand","scope":"team","teamId":215,"description":"Acme client work","createdBy":985,"created":"2026-06-24T08:00:00.000Z","updated":null}]}],"pg":{"sortBy":"id","sortDir":"desc","offset":0,"limit":10}}}}}}}}},"post":{"tags":["Scenarios"],"summary":"Create scenario","description":"Creates a new scenario with data passed in the request body. In the response, it returns the details of the created scenario. The blueprint is not returned; retrieve it separately via the Get scenario blueprint endpoint.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","hookId","devices","deviceId","deviceScope","description","folderId","concept","folderPath","isinvalid","islinked","isActive","islocked","isPaused","usedPackages","usedModules","lastEdit","scheduling","iswaiting","dlqCount","allDlqCount","chainingRole","isShared","type","createdByUser","updatedByUser","created","nextExec","operations","centicredits","transfer","executions","errors","customProperties","templateMetadata","deleted","deletedAt","labels"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"description":"If set to `true` this parameter confirms the scenario creation when the scenario contains the app that is used in the organization for the first time and needs installation. If the parameter is missing or it is set to `false` an error code is returned and the scenario is not created.","name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"type":"string","description":"The scenario blueprint. To save resources, the blueprint is sent as a string, not as an object."},"teamId":{"type":"integer","description":"The unique ID of the team in which the scenario will be created."},"scheduling":{"type":"string","description":"The scenario scheduling details. To save resources, the scheduling details are sent as a string, not as an object."},"folderId":{"type":"integer","description":"The unique ID of the folder in which you want to store created scenario."},"basedon":{"type":"integer","description":"Defines if the scenario is created based on a template. The value is the template ID."},"description":{"type":"string","description":"A description of the scenario."},"metadata":{"type":"object","description":"Additional scenario metadata. Used to declare the scenario's input and output interface and, optionally, the template it is instantiated from.","properties":{"input_spec":{"type":"array","description":"The scenario's input interface definition. Each item declares one input field.","items":{"type":"object"}},"output_spec":{"type":"array","description":"The scenario's output interface definition. Each item declares one output field.","items":{"type":"object"}},"template_metadata":{"type":"object","description":"Metadata linking the created scenario to the template it is instantiated from."}}}},"required":["blueprint","teamId","scheduling"]},"examples":{"create":{"summary":"Blueprint for scenario creation","value":{"blueprint":"{ \"name\": \"Empty integration\", \"flow\": [ { \"id\": 2, \"module\": \"json:ParseJSON\", \"version\": 1, \"metadata\": { \"designer\": { \"x\": -46, \"y\": 47, \"messages\": [ { \"category\": \"last\", \"severity\": \"warning\", \"message\": \"A transformer should not be the last module in the route.\" } ] } } } ], \"metadata\": { \"version\": 1, \"scenario\": { \"roundtrips\": 1, \"maxErrors\": 3, \"autoCommit\": true, \"autoCommitTriggerLast\": true, \"sequential\": false, \"confidential\": false, \"dataloss\": false, \"dlq\": false, \"freshVariables\": false }, \"designer\": { \"orphans\": [ ] } } }","teamId":1,"scheduling":"{ \"type\": \"indefinitely\", \"interval\": 900 }","folderId":1,"basedon":20}}}}}},"responses":{"200":{"description":"Scenario created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"hookId":{"type":"integer"},"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"}}}},"deviceId":{"type":"integer","deprecated":true},"deviceScope":{"type":"string","deprecated":true},"description":{"type":"string"},"folderId":{"type":"integer","nullable":true},"concept":{"type":"boolean","description":"Whether the scenario is a concept (a work-in-progress scenario that has never been activated)."},"folderPath":{"type":"string","nullable":true,"description":"Slash-separated folder path for the scenario, for example `CRM/cleanup`."},"isinvalid":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true},"isActive":{"type":"boolean"},"islocked":{"type":"boolean"},"isPaused":{"type":"boolean"},"usedPackages":{"type":"array","items":{"type":"string"}},"usedModules":{"type":"array","description":"The apps and modules used in the scenario.","items":{"type":"object","properties":{"packageName":{"type":"string"},"moduleName":{"type":"string"}}}},"lastEdit":{"type":"string","format":"date-time"},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"iswaiting":{"type":"boolean"},"dlqCount":{"type":"integer","description":"The number of unresolved incomplete executions of the scenario."},"allDlqCount":{"type":"integer","description":"The total number of incomplete executions of the scenario, including resolved ones."},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"updatedByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"nextExec":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"scenarioVersion":{"type":"integer"},"moduleSequenceId":{"type":"integer"},"type":{"type":"string","enum":["scenario","tool"]},"chainingRole":{"type":"string","nullable":true,"description":"The scenario's role in a scenario chain (for example when it is triggered by another scenario), or `null` when the scenario is not part of a chain."},"isShared":{"type":"boolean","description":"Whether the scenario is shared."},"operations":{"type":"integer","description":"The number of operations consumed by the scenario in the reported period."},"centicredits":{"type":"integer","description":"The number of centicredits consumed by the scenario in the reported period."},"transfer":{"type":"integer","description":"The amount of data transferred by the scenario in the reported period, in bytes."},"executions":{"type":"integer","description":"The number of times the scenario was executed in the reported period. Returned only when requested via `cols[]`."},"errors":{"type":"integer","description":"The number of failed executions of the scenario in the reported period. Returned only when requested via `cols[]`."},"customProperties":{"type":"object","nullable":true,"additionalProperties":{},"description":"The scenario's custom-property values keyed by property name, or `null` when custom properties are not included in the organization's license. Returned only when requested via `cols[]`."},"templateMetadata":{"type":"object","nullable":true,"description":"Metadata linking the scenario to the template it was created from, or `null` when the scenario was not created from a template. Returned only when requested via `cols[]`.","properties":{"isOem":{"type":"boolean"},"versionId":{"type":"integer"},"metadataId":{"type":"integer"},"instantiableId":{"type":"integer"}}},"deleted":{"type":"boolean","description":"Whether the scenario is currently soft-deleted (in the trash). Returned only when requested via `cols[]`."},"deletedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the scenario was moved to the trash, or `null` if it is not deleted. Returned only when requested via `cols[]`."},"labels":{"type":"array","description":"Team labels assigned to the scenario, sorted by label name case-insensitively. Available when scenario labels are enabled: the scenario list endpoint returns them by default, while the scenario detail endpoint returns them only when requested via `cols[]`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}},"scenarioVersion":{"type":"object","description":"The version metadata of the created scenario. Returned only when the created scenario has a version; omitted otherwise.","properties":{"version":{"type":"integer"},"draft":{"type":"boolean"}}}}},"examples":{"create":{"summary":"The created scenario","value":{"scenario":{"id":925,"name":"New scenario","teamId":215,"hookId":null,"devices":[],"deviceId":null,"deviceScope":null,"concept":false,"description":"","folderId":null,"folderPath":null,"isinvalid":false,"islinked":false,"isActive":false,"islocked":false,"isPaused":false,"usedPackages":["json"],"lastEdit":"2021-09-22T06:40:56.692Z","scheduling":{"type":"indefinitely","interval":900},"iswaiting":false,"dlqCount":0,"allDlqCount":0,"createdByUser":{"id":985,"name":"John Doe","email":"j.doe@example.com"},"updatedByUser":{"id":986,"name":"John Foo","email":"j.foo@example.com"},"nextExec":"2021-09-22T06:41:56.692Z","created":"2021-10-22T06:41:56.692Z","type":"scenario","chainingRole":null,"isShared":false}}}}}}},"400":{"description":"An `input_spec` entry defaults to a locked connection or key (`IM022`). A locked entity is not supported as a dynamic connection in this version, for every caller — select the connection in the module instead. Returned only when locked-entities enforcement is enabled for the organization.\n"},"403":{"description":"A module in the blueprint places a locked connection or key the user is not allowed to use (`IM002`, placement guard). Returned only when locked-entities enforcement is enabled for the organization; an untouched frozen module and releasing a locked entity (swapping it out or removing its module) always pass.\n"}}}},"/scenarios/trash/count":{"get":{"tags":["Scenarios"],"summary":"Count scenarios in trash","description":"Returns the number of scenarios currently in the trash for a team — scenarios that were\ndeleted and are still within the 30-day recovery window. Useful for rendering a trash badge\ncount. The count respects the same permissions as listing scenarios.\n","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The unique ID of the team whose trashed scenarios will be counted.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true}],"responses":{"200":{"description":"The number of scenarios currently in the trash.","content":{"application/json":{"schema":{"type":"object","properties":{"scenariosTrashedTotal":{"type":"integer"}}},"example":{"scenariosTrashedTotal":3}}}}}}},"/scenarios/move-to-trash":{"post":{"tags":["Scenarios"],"summary":"Move scenarios to trash","description":"Moves up to 1,000 scenarios of one team to the trash in a single request. Each scenario is\nsoft-deleted the same way as `DELETE /scenarios/{scenarioId}`: an active scenario is stopped\nfirst, and the scenario can be restored within the 30-day recovery window. The request is the\nconfirmation, so a scenario that other scenarios use as a subscenario or as a dead-letter queue\nis trashed without the confirmation prompt the single delete returns.\n\nEvery requested id is processed on its own. An id that does not exist, belongs to another team,\nor is already in trash is reported in `rejectedScenarios` with `IM301`; a failure while trashing\none scenario rejects only that scenario with the failure's code. The response is `200` even when\nevery id was rejected. Larger selections must be split into several requests.\n\nRequires the `scenario delete` permission on the team.\n","security":[{"token":["scenarios:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["teamId","scenarioIds"],"additionalProperties":false,"properties":{"teamId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647,"description":"The team every listed scenario must belong to."},"scenarioIds":{"type":"array","description":"Ids of the scenarios to move to trash. Larger selections must be sent in several requests.","minItems":1,"maxItems":1000,"uniqueItems":true,"items":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647}}}},"examples":{"mixedResults":{"summary":"Trash three scenarios, one of which is already in trash","value":{"teamId":112,"scenarioIds":[1201,1202,1203]}}}}}},"responses":{"200":{"description":"The request was processed; inspect `rejectedScenarios` and `summary` for per-id results.","content":{"application/json":{"schema":{"type":"object","required":["trashedScenarioIds","rejectedScenarios","summary"],"properties":{"trashedScenarioIds":{"type":"array","description":"Ids that were moved to trash by this request.","items":{"type":"integer"}},"rejectedScenarios":{"type":"array","description":"Ids that were not trashed, each with the reason.","items":{"type":"object","required":["scenarioId","code","detail"],"properties":{"scenarioId":{"type":"integer"},"code":{"type":"string","description":"`IM301` when the scenario does not exist, belongs to another team, or is already in trash; otherwise the code of the failure that stopped this one scenario.\n"},"detail":{"type":"string"}}}},"summary":{"type":"object","required":["total","trashed","rejected"],"properties":{"total":{"type":"integer"},"trashed":{"type":"integer"},"rejected":{"type":"integer"}}}}},"examples":{"mixedResults":{"summary":"Two scenarios were trashed, one was rejected","value":{"trashedScenarioIds":[1201,1202],"rejectedScenarios":[{"scenarioId":1203,"code":"IM301","detail":"Scenario does not exist or is already in trash."}],"summary":{"total":3,"trashed":2,"rejected":1}}}}}}},"400":{"description":"The body is invalid (`SC400`: missing team, empty or duplicate ids, more than 1,000 ids; unknown properties are ignored), or scenario trash is not enabled on this environment (`IM903`, returned while the `is_scenarios_trash_enabled` feature flag is off).\n","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"emptyScenarioIds":{"summary":"No scenario ids were supplied","value":{"message":"Bad Request","code":"SC400","suberrors":[{"message":"Expected array length to be greater or equal to 1","name":"ValidationError"}]}}}}}},"401":{"description":"Authentication failed or the token lacks `scenarios:write` (`IM001`).","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"missingScope":{"summary":"The token lacks the required scope","value":{"message":"Access denied","code":"IM001","detail":"Required scope: scenarios:write"}}}}}},"403":{"description":"The user does not have the `scenario delete` permission on the team (`IM002`).","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"insufficientRights":{"summary":"The user cannot delete scenarios in the team","value":{"message":"Insufficient rights","code":"IM002","detail":"team permission \"scenario delete\" is needed."}}}}}}}}},"/scenarios/{scenarioId}":{"get":{"tags":["Scenarios"],"summary":"Get scenario details","description":"Retrieves all available properties of a scenario with a given ID. The returned details do not include a scenario blueprint. If you want to get a scenario blueprint, refer to the [Get scenario blueprint](./blueprints/get--scenarios--scenarioid--blueprint.md) endpoint.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","hookId","devices","deviceId","deviceScope","description","folderId","concept","folderPath","isinvalid","islinked","isActive","islocked","isPaused","usedPackages","usedModules","lastEdit","scheduling","iswaiting","dlqCount","allDlqCount","chainingRole","isShared","type","createdByUser","updatedByUser","created","nextExec","operations","centicredits","transfer","executions","errors","customProperties","templateMetadata","deleted","deletedAt","labels"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"hookId":{"type":"integer"},"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"}}}},"deviceId":{"type":"integer","deprecated":true},"deviceScope":{"type":"string","deprecated":true},"description":{"type":"string"},"folderId":{"type":"integer","nullable":true},"concept":{"type":"boolean","description":"Whether the scenario is a concept (a work-in-progress scenario that has never been activated)."},"folderPath":{"type":"string","nullable":true,"description":"Slash-separated folder path for the scenario, for example `CRM/cleanup`."},"isinvalid":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true},"isActive":{"type":"boolean"},"islocked":{"type":"boolean"},"isPaused":{"type":"boolean"},"usedPackages":{"type":"array","items":{"type":"string"}},"usedModules":{"type":"array","description":"The apps and modules used in the scenario.","items":{"type":"object","properties":{"packageName":{"type":"string"},"moduleName":{"type":"string"}}}},"lastEdit":{"type":"string","format":"date-time"},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"iswaiting":{"type":"boolean"},"dlqCount":{"type":"integer","description":"The number of unresolved incomplete executions of the scenario."},"allDlqCount":{"type":"integer","description":"The total number of incomplete executions of the scenario, including resolved ones."},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"updatedByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"nextExec":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"scenarioVersion":{"type":"integer"},"moduleSequenceId":{"type":"integer"},"type":{"type":"string","enum":["scenario","tool"]},"chainingRole":{"type":"string","nullable":true,"description":"The scenario's role in a scenario chain (for example when it is triggered by another scenario), or `null` when the scenario is not part of a chain."},"isShared":{"type":"boolean","description":"Whether the scenario is shared."},"operations":{"type":"integer","description":"The number of operations consumed by the scenario in the reported period."},"centicredits":{"type":"integer","description":"The number of centicredits consumed by the scenario in the reported period."},"transfer":{"type":"integer","description":"The amount of data transferred by the scenario in the reported period, in bytes."},"executions":{"type":"integer","description":"The number of times the scenario was executed in the reported period. Returned only when requested via `cols[]`."},"errors":{"type":"integer","description":"The number of failed executions of the scenario in the reported period. Returned only when requested via `cols[]`."},"customProperties":{"type":"object","nullable":true,"additionalProperties":{},"description":"The scenario's custom-property values keyed by property name, or `null` when custom properties are not included in the organization's license. Returned only when requested via `cols[]`."},"templateMetadata":{"type":"object","nullable":true,"description":"Metadata linking the scenario to the template it was created from, or `null` when the scenario was not created from a template. Returned only when requested via `cols[]`.","properties":{"isOem":{"type":"boolean"},"versionId":{"type":"integer"},"metadataId":{"type":"integer"},"instantiableId":{"type":"integer"}}},"deleted":{"type":"boolean","description":"Whether the scenario is currently soft-deleted (in the trash). Returned only when requested via `cols[]`."},"deletedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the scenario was moved to the trash, or `null` if it is not deleted. Returned only when requested via `cols[]`."},"labels":{"type":"array","description":"Team labels assigned to the scenario, sorted by label name case-insensitively. Available when scenario labels are enabled: the scenario list endpoint returns them by default, while the scenario detail endpoint returns them only when requested via `cols[]`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}}}},"example":{"scenario":{"id":925,"name":"New scenario","teamId":215,"hookId":null,"devices":[],"deviceId":null,"deviceScope":null,"concept":false,"description":"","folderId":null,"folderPath":null,"isinvalid":false,"islinked":false,"isActive":false,"islocked":false,"isPaused":false,"usedPackages":["json"],"lastEdit":"2021-09-22T06:40:56.692Z","scheduling":{"type":"indefinitely","interval":900},"iswaiting":false,"dlqCount":0,"allDlqCount":0,"createdByUser":{"id":985,"name":"John Doe","email":"j.doe@example.com"},"updatedByUser":{"id":986,"name":"John Foo","email":"j.foo@example.com"},"nextExec":"2021-09-22T06:41:56.692Z","created":"2021-10-22T06:41:56.692Z","type":"scenario","chainingRole":null,"isShared":false}}}}}}},"patch":{"tags":["Scenarios"],"summary":"Update scenario","description":"Updates a scenario with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated scenario including properties that were not changed.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","hookId","devices","deviceId","deviceScope","description","folderId","concept","folderPath","isinvalid","islinked","isActive","islocked","isPaused","usedPackages","usedModules","lastEdit","scheduling","iswaiting","dlqCount","allDlqCount","chainingRole","isShared","type","createdByUser","updatedByUser","created","nextExec","operations","centicredits","transfer","executions","errors","customProperties","templateMetadata","deleted","deletedAt","labels"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"description":"If set to `true` this parameter confirms the scenario update when the scenario contains the app that is used in the organization for the first time and needs installation. If the parameter is missing or it is set to `false` an error code is returned and the scenario is not updated.","name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"type":"string","description":"The scenario blueprint. To save resources, the blueprint is sent as a string, not as an object."},"scheduling":{"type":"string","description":"The scenario scheduling details. To save resources, the scheduling details are sent as a string, not as an object."},"folderId":{"type":"integer","nullable":true,"description":"The unique ID of the folder to which you want to move the scenario. Set to `null` to remove its folder assignment."},"name":{"type":"string","description":"A new name of the scenario. The name does not need to be unique."},"baseVersion":{"type":"integer","minimum":0,"description":"Optimistic concurrency token: the scenario `version` the submitted blueprint is based on, as returned by `GET /scenarios/{scenarioId}/blueprint` (`response.version`) or by a previous update (`scenarioVersion.version`). When provided and the scenario has been saved since (its current version is higher), the update is rejected with `409` / `SC409` and nothing is changed; the error's `metadata` carries `currentVersion`, `baseVersion`, `lastEdit` and `lastEditedBy`. Omit it to save unconditionally.\n"}}},"examples":{"update":{"summary":"Blueprint for scenario update","value":{"blueprint":"{ \"name\": \"Empty integration\", \"flow\": [ { \"id\": 2, \"module\": \"json:ParseJSON\", \"version\": 1, \"metadata\": { \"designer\": { \"x\": -46, \"y\": 47, \"messages\": [ { \"category\": \"last\", \"severity\": \"warning\", \"message\": \"A transformer should not be the last module in the route.\" } ] } } } ], \"metadata\": { \"version\": 1, \"scenario\": { \"roundtrips\": 1, \"maxErrors\": 3, \"autoCommit\": true, \"autoCommitTriggerLast\": true, \"sequential\": false, \"confidential\": false, \"dataloss\": false, \"dlq\": false, \"freshVariables\": false }, \"designer\": { \"orphans\": [ ] } } }","scheduling":"{ \"type\": \"indefinitely\", \"interval\": 900 }","folderId":1,"name":"My New Integration","baseVersion":12}}}}}},"responses":{"200":{"description":"Scenario was updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"hookId":{"type":"integer"},"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"}}}},"deviceId":{"type":"integer","deprecated":true},"deviceScope":{"type":"string","deprecated":true},"description":{"type":"string"},"folderId":{"type":"integer","nullable":true},"concept":{"type":"boolean","description":"Whether the scenario is a concept (a work-in-progress scenario that has never been activated)."},"folderPath":{"type":"string","nullable":true,"description":"Slash-separated folder path for the scenario, for example `CRM/cleanup`."},"isinvalid":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true},"isActive":{"type":"boolean"},"islocked":{"type":"boolean"},"isPaused":{"type":"boolean"},"usedPackages":{"type":"array","items":{"type":"string"}},"usedModules":{"type":"array","description":"The apps and modules used in the scenario.","items":{"type":"object","properties":{"packageName":{"type":"string"},"moduleName":{"type":"string"}}}},"lastEdit":{"type":"string","format":"date-time"},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"iswaiting":{"type":"boolean"},"dlqCount":{"type":"integer","description":"The number of unresolved incomplete executions of the scenario."},"allDlqCount":{"type":"integer","description":"The total number of incomplete executions of the scenario, including resolved ones."},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"updatedByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"nextExec":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"scenarioVersion":{"type":"integer"},"moduleSequenceId":{"type":"integer"},"type":{"type":"string","enum":["scenario","tool"]},"chainingRole":{"type":"string","nullable":true,"description":"The scenario's role in a scenario chain (for example when it is triggered by another scenario), or `null` when the scenario is not part of a chain."},"isShared":{"type":"boolean","description":"Whether the scenario is shared."},"operations":{"type":"integer","description":"The number of operations consumed by the scenario in the reported period."},"centicredits":{"type":"integer","description":"The number of centicredits consumed by the scenario in the reported period."},"transfer":{"type":"integer","description":"The amount of data transferred by the scenario in the reported period, in bytes."},"executions":{"type":"integer","description":"The number of times the scenario was executed in the reported period. Returned only when requested via `cols[]`."},"errors":{"type":"integer","description":"The number of failed executions of the scenario in the reported period. Returned only when requested via `cols[]`."},"customProperties":{"type":"object","nullable":true,"additionalProperties":{},"description":"The scenario's custom-property values keyed by property name, or `null` when custom properties are not included in the organization's license. Returned only when requested via `cols[]`."},"templateMetadata":{"type":"object","nullable":true,"description":"Metadata linking the scenario to the template it was created from, or `null` when the scenario was not created from a template. Returned only when requested via `cols[]`.","properties":{"isOem":{"type":"boolean"},"versionId":{"type":"integer"},"metadataId":{"type":"integer"},"instantiableId":{"type":"integer"}}},"deleted":{"type":"boolean","description":"Whether the scenario is currently soft-deleted (in the trash). Returned only when requested via `cols[]`."},"deletedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the scenario was moved to the trash, or `null` if it is not deleted. Returned only when requested via `cols[]`."},"labels":{"type":"array","description":"Team labels assigned to the scenario, sorted by label name case-insensitively. Available when scenario labels are enabled: the scenario list endpoint returns them by default, while the scenario detail endpoint returns them only when requested via `cols[]`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}},"scenarioVersion":{"type":"object","description":"The scenario version this update created. Present only when the update changed the blueprint or its metadata; an update that stored nothing new (identical blueprint, or scheduling/name only) has no `scenarioVersion` and the scenario's version is unchanged. Send `version` back as `baseVersion` on the next update to detect concurrent saves.\n","properties":{"scenarioId":{"type":"integer"},"version":{"type":"integer"},"draft":{"type":"boolean","description":"Whether the version is a draft (teams with scenario drafts enabled) or published."}}}}},"example":{"scenario":{"id":925,"name":"New scenario","teamId":215,"hookId":null,"devices":[],"deviceId":null,"deviceScope":null,"concept":false,"description":"","folderId":null,"folderPath":null,"isinvalid":false,"islinked":false,"isActive":false,"islocked":false,"isPaused":false,"usedPackages":["json"],"lastEdit":"2021-09-22T06:40:56.692Z","scheduling":{"type":"indefinitely","interval":900},"iswaiting":false,"dlqCount":0,"allDlqCount":0,"createdByUser":{"id":985,"name":"John Doe","email":"j.doe@example.com"},"updatedByUser":{"id":986,"name":"John Foo","email":"j.foo@example.com"},"nextExec":"2021-09-22T06:41:56.692Z","created":"2021-10-22T06:41:56.692Z","type":"scenario","chainingRole":null,"isShared":false},"scenarioVersion":{"scenarioId":925,"version":13,"draft":false}}}}},"400":{"description":"An `input_spec` entry defaults to a locked connection or key (`IM022`). A locked entity is not supported as a dynamic connection in this version, for every caller — select the connection in the module instead. Returned only when locked-entities enforcement is enabled for the organization.\n"},"403":{"description":"A module in the blueprint places a locked connection or key the user is not allowed to use (`IM002`, placement guard). Returned only when locked-entities enforcement is enabled for the organization; an untouched frozen module and releasing a locked entity (swapping it out or removing its module) always pass.\n"},"409":{"description":"`SC409` — the save was not applied. Either the request carried `baseVersion` and the scenario has a newer version (saved by another client such as the Make MCP server, or another editor session); the response `metadata` then contains `reason: scenario_version_conflict`, `baseVersion`, `currentVersion`, `lastEdit` and `lastEditedBy` (`{ id, name, email }` or `null`) so the client can reload the current blueprint or retry without `baseVersion` to overwrite. Or the scenario was modified concurrently between the placement-guard check and the save; retry the request.\n","content":{"application/json":{"example":{"code":"SC409","message":"Scenario has been modified since version 12 was loaded, current version is 13.","metadata":{"reason":"scenario_version_conflict","baseVersion":12,"currentVersion":13,"lastEdit":"2026-09-21T14:03:11.482619+00:00","lastEditedBy":{"id":42,"name":"Jane Doe","email":"jane.doe@example.com"}}}}}}}},"delete":{"tags":["Scenarios"],"summary":"Delete scenario","description":"Deletes a scenario with a given ID and returns the ID in the response.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Scenario deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"integer"}}},"example":{"scenario":1399}}}}}}},"/scenarios/{scenarioId}/triggers":{"get":{"tags":["Scenarios"],"summary":"Get trigger details","description":"Retrieves properties of a trigger included in a scenario with a given ID. A trigger is a module that is able to return bundles that were newly added or updated (depending on the settings) since the last run of the scenario. An example of a trigger is a hook.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"udid":{"type":"string"},"scope":{"type":"string"},"queueCount":{"type":"integer"},"queueLimit":{"type":"integer"},"typeName":{"type":"string"},"type":{"type":"string"},"url":{"type":"string","format":"uri"},"flags":{"type":"object"}}},"example":{"id":9765,"name":"WH1","udid":"e7cq6zty4qcnq7fb83kzcdsgqniqtd5c","scope":"hook","queueCount":0,"queueLimit":100000,"typeName":"gateway-webhook","type":"web","flags":{},"url":"https://hook.make.com/e7cq6zty4qcnq7fb83kzcdsgqniqtd5c"}}}}}}},"/scenarios/{scenarioId}/clone":{"post":{"tags":["Scenarios"],"summary":"Clone scenario","description":"Clones the specified scenario. The response contains all information about the scenario clone.\n\nYou have to know which app integrations the scenario contains. You can get a list of apps used in the scenario with the API call `GET /scenarios/{scenarioId}` in the `usedPackages` array.\n\nIf you are cloning the scenario to a different team and the scenario contains an app module, webhook or data store, you have to either:\n\n- map the entity ID to a different entity with the correct properties. For example, you can map an app module connection to a different connection of the same app with the same scopes, or\n - use the `notAnalyze` query parameter to turn off the scenario clone blueprint analysis.\n\nWhen you turn off the scenario blueprint analysis you can map the entity ID to the `null` value, which omits the entity settings.\n\nThe scenario blueprint analysis makes sure that the scenario clone will work without further changes. If you turn off the scenario blueprint analysis, check the configuration of all entities in the scenario clone.\n\nIf you are cloning the scenario to a different team and the scenario contains a custom app or a custom function, which is not available for the users in the team, use the `confirmed` query parameter to confirm cloning of the scenario. Otherwise, you get an error listing the custom function that you have to create in the team.\n\nRefer to the request body parameters description and examples for more information.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The ID of the organization.","required":true,"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","hookId","devices","deviceId","deviceScope","description","folderId","concept","folderPath","isinvalid","islinked","isActive","islocked","isPaused","usedPackages","usedModules","lastEdit","scheduling","iswaiting","dlqCount","allDlqCount","chainingRole","isShared","type","createdByUser","updatedByUser","created","nextExec","operations","centicredits","transfer","executions","errors","customProperties","templateMetadata","deleted","deletedAt","labels"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"If the scenario contains a custom app or a custom function, that is not available in the team, you have to set the `confirmed` parameter to `true` to clone the scenario. Otherwise you get an error and the scenario is not cloned.","examples":{"suppressBlueprintAnalysis":{"value":true}}},{"examples":{"suppressBlueprintAnalysis":{"value":true}},"name":"notAnalyze","in":"query","schema":{"type":"boolean"},"description":"If you are cloning a scenario to a different team, you have to map the scenario entities (connections, data stores, webhooks, ...) from the original to the clone. If you cannot map all of the scenario entities, set the `notAnalyze` parameter to `true` to suppress the scenario blueprint analysis."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name for the scenario clone. The maximum length of the name is 120 characters."},"teamId":{"type":"integer","description":"The ID of the team to which you want to clone the scenario."},"account":{"description":"Specify pairs of original and clone connection IDs to map connections to the cloned scenario.","type":"object","additionalProperties":{}},"key":{"description":"Specify pairs of original and clone key IDs to map keys to the cloned scenario.","type":"object","additionalProperties":{}},"hook":{"description":"Specify pairs of original and clone hook IDs to map webhooks to the cloned scenario.","type":"object","additionalProperties":{}},"device":{"description":"Specify pairs of original and clone device IDs to map devices to the cloned scenario.","type":"object","additionalProperties":{}},"udt":{"description":"Specify pairs of original and clone data structure IDs to map data structures to the cloned scenario.","type":"object","additionalProperties":{}},"datastore":{"description":"Specify pairs of original and clone data store IDs to map data stores to the cloned scenario.","type":"object","additionalProperties":{}},"states":{"type":"boolean","description":"Set to `true` to clone also states of the scenario modules, for example last scenario trigger execution. Setting to `false` resets the state information of the scenario modules in the scenario clone."}},"required":["name","teamId","states"]},"examples":{"cloneScenario":{"summary":"Clone scenario","description":"Clone the specified scenario to the team with the specified `teamId`.","value":{"name":"Scenario clone","teamId":20030,"states":true,"account":{"4400":5564,"5500":7542},"key":{"4383":465},"hook":{"11899":11900},"device":{"432":116},"udt":{"4130":5698},"datastore":{"3572":4587}}},"suppressBlueprintAnalysis":{"summary":"Suppress validation","description":"Suppress scenario clone blueprint analysis to clone the scenario without mapping the connections, data stores or other scenario entities. \n\nIf you do not map all of the scenario entities to the scenario clone, you will have to edit the scenario manually.","value":{"name":"Scenario clone without connections","teamId":20030,"states":false,"account":{"4400":null,"5500":null},"udt":{"4131":5700},"datastore":{"3573":4900}}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"hookId":{"type":"integer"},"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"scope":{"type":"string"}}}},"deviceId":{"type":"integer","deprecated":true},"deviceScope":{"type":"string","deprecated":true},"description":{"type":"string"},"folderId":{"type":"integer","nullable":true},"concept":{"type":"boolean","description":"Whether the scenario is a concept (a work-in-progress scenario that has never been activated)."},"folderPath":{"type":"string","nullable":true,"description":"Slash-separated folder path for the scenario, for example `CRM/cleanup`."},"isinvalid":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true},"isActive":{"type":"boolean"},"islocked":{"type":"boolean"},"isPaused":{"type":"boolean"},"usedPackages":{"type":"array","items":{"type":"string"}},"usedModules":{"type":"array","description":"The apps and modules used in the scenario.","items":{"type":"object","properties":{"packageName":{"type":"string"},"moduleName":{"type":"string"}}}},"lastEdit":{"type":"string","format":"date-time"},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"iswaiting":{"type":"boolean"},"dlqCount":{"type":"integer","description":"The number of unresolved incomplete executions of the scenario."},"allDlqCount":{"type":"integer","description":"The total number of incomplete executions of the scenario, including resolved ones."},"createdByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"updatedByUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"nextExec":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"scenarioVersion":{"type":"integer"},"moduleSequenceId":{"type":"integer"},"type":{"type":"string","enum":["scenario","tool"]},"chainingRole":{"type":"string","nullable":true,"description":"The scenario's role in a scenario chain (for example when it is triggered by another scenario), or `null` when the scenario is not part of a chain."},"isShared":{"type":"boolean","description":"Whether the scenario is shared."},"operations":{"type":"integer","description":"The number of operations consumed by the scenario in the reported period."},"centicredits":{"type":"integer","description":"The number of centicredits consumed by the scenario in the reported period."},"transfer":{"type":"integer","description":"The amount of data transferred by the scenario in the reported period, in bytes."},"executions":{"type":"integer","description":"The number of times the scenario was executed in the reported period. Returned only when requested via `cols[]`."},"errors":{"type":"integer","description":"The number of failed executions of the scenario in the reported period. Returned only when requested via `cols[]`."},"customProperties":{"type":"object","nullable":true,"additionalProperties":{},"description":"The scenario's custom-property values keyed by property name, or `null` when custom properties are not included in the organization's license. Returned only when requested via `cols[]`."},"templateMetadata":{"type":"object","nullable":true,"description":"Metadata linking the scenario to the template it was created from, or `null` when the scenario was not created from a template. Returned only when requested via `cols[]`.","properties":{"isOem":{"type":"boolean"},"versionId":{"type":"integer"},"metadataId":{"type":"integer"},"instantiableId":{"type":"integer"}}},"deleted":{"type":"boolean","description":"Whether the scenario is currently soft-deleted (in the trash). Returned only when requested via `cols[]`."},"deletedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the scenario was moved to the trash, or `null` if it is not deleted. Returned only when requested via `cols[]`."},"labels":{"type":"array","description":"Team labels assigned to the scenario, sorted by label name case-insensitively. Available when scenario labels are enabled: the scenario list endpoint returns them by default, while the scenario detail endpoint returns them only when requested via `cols[]`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}}}},"examples":{"cloneScenario":{"value":{"id":925,"name":"Scenario clone","teamId":20030,"hookId":11900,"deviceId":116,"deviceScope":null,"concept":false,"description":"","folderId":null,"isinvalid":false,"isActive":false,"islinked":false,"islocked":false,"isPaused":false,"usedPackages":["gateway","airtable","datastore","google-sheets","util"],"lastEdit":"2021-09-22T06:40:56.692Z","scheduling":{"type":"indefinitely","interval":900},"iswaiting":false,"dlqCount":0,"createdByUser":{"id":985,"name":"John Doe","email":"j.doe@example.com"},"updatedByUser":{"id":986,"name":"John Foo","email":"j.foo@example.com"},"nextExec":"2021-09-22T06:41:56.692Z"}},"suppressBlueprintAnalysis":{"value":{"id":925,"name":"Scenario clone without connections","teamId":20030,"hookId":null,"deviceId":null,"deviceScope":null,"concept":false,"description":"","folderId":null,"isinvalid":false,"isActive":false,"islinked":false,"islocked":false,"isPaused":false,"usedPackages":["airtable","datastore","google-sheets","util"],"lastEdit":"2021-09-22T06:40:56.692Z","scheduling":{"type":"indefinitely","interval":900},"iswaiting":false,"dlqCount":0,"createdByUser":{"id":985,"name":"John Doe","email":"j.doe@example.com"},"updatedByUser":{"id":986,"name":"John Foo","email":"j.foo@example.com"},"nextExec":"2021-09-22T06:41:56.692Z"}}}}}},"400":{"description":"One of:\n\n- `IM022` — a remapped connection or key is locked in the source team and the\n  request leaves its replacement empty, so the clone would duplicate the locked\n  credential. Copying a locked connection or key is never supported, in any target\n  team including the source team, and is not gated by the locked-entities\n  enforcement flag; pass the ID of an existing connection or key in the target team\n  instead.\n- `SC400` `Missing value of required parameter` — the clone form marks the remap\n  entry of a locked connection or key `required` (as it already does for an OAuth\n  connection) and the request body omits it.\n- `IM022` — the source scenario's `input_spec` defaults to a locked connection or\n  key, which `scenario_duplicate` copies verbatim into the clone. A locked entity is\n  not supported as a dynamic connection in this version, for every caller — select\n  the connection in the module instead. Returned only when locked-entities\n  enforcement is enabled for the organization.\n"},"403":{"description":"The copy would keep (or remap to) a locked connection or key the user is not allowed to use in the target team (`IM002`, placement guard). Returned only when locked-entities enforcement is enabled for the organization; remapping the reference to a usable connection or key passes.\n"}}}},"/scenarios/{scenarioId}/restore":{"post":{"tags":["Scenarios"],"summary":"Restore scenario from trash","description":"Restores a soft-deleted (\"trashed\") scenario with the given ID back to active, as long as it\nis still within the 30-day recovery window. The scenario's runnable state (apps, connections,\nmodules, webhook wiring) is re-derived best-effort from its surviving blueprint; if the\nblueprint references something deleted while the scenario sat in trash, the restore still\nsucceeds and the scenario is flagged with `containsErrors` so it can be fixed by editing.\n\nLocked connections and keys the restoring user is not allowed to use are cleared from the\nrestored blueprint rather than blocking the restore: those modules come back with no connection\nselected, and the scenario is flagged with `containsErrors` because it cannot run until someone\nselects one. Every module cleared this way is listed in `strippedModules` so the caller can tell\nthe user which modules need a new connection; the list is empty when nothing was cleared.\n\nRequires the `scenario edit` permission. Only a scenario that is currently in trash can be\nrestored — an already-active one is rejected with 404, as is a scenario beyond the 30-day\nwindow.\n","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Scenario restored successfully","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"deleted":{"type":"boolean"},"deletedAt":{"type":"string","format":"date-time","nullable":true},"containsErrors":{"type":"boolean","description":"The restored scenario needs editing before it can run — a reference in its blueprint could not be revived, or a locked connection or key was cleared from it.\n"}}},"strippedModules":{"type":"array","description":"The modules a locked connection or key was cleared from, empty when nothing was cleared. A module listed here has no connection selected until the user picks one.\n","items":{"type":"object","properties":{"moduleId":{"type":"integer","description":"Id of the module within the scenario's blueprint."},"moduleName":{"type":"string","description":"Module identifier, e.g. `google-sheets:addRow`."},"entities":{"type":"array","description":"The locked connections and keys cleared from that module.","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["connection","key"]},"entityId":{"type":"integer"}}}}}}}}},"examples":{"restored-intact":{"summary":"Nothing had to be cleared","value":{"scenario":{"id":1399,"deleted":false,"deletedAt":null,"containsErrors":false},"strippedModules":[]}},"locked-connection-stripped":{"summary":"A locked connection the restorer cannot use was cleared","value":{"scenario":{"id":1399,"deleted":false,"deletedAt":null,"containsErrors":true},"strippedModules":[{"moduleId":2,"moduleName":"google-sheets:addRow","entities":[{"entityType":"connection","entityId":8123}]}]}}}}}},"400":{"description":"`scenarioId` is not a positive integer (`SC400`, the message names the offending path parameter), or scenario trash is not enabled on this environment (`IM903`, returned while the `is_scenarios_trash_enabled` feature flag is off). Also returned for a scenario whose team holds locked connections or keys when the structure of its stored blueprint cannot be parsed (`IM007`), because which locked entities it places — and therefore which of them must be cleared — cannot be determined. The scenario stays in trash. An individual connection or key parameter the blueprint grammar rejects does not fail the restore: it can place no entity, so it is left as it is and the restore continues.\n"},"403":{"description":"The user does not have the `scenario edit` permission for this scenario (`IM002`). Also returned when a locked connection or key the user may not use could not be cleared from the blueprint (`IM002`) — the scenario stays in trash.\n"},"404":{"description":"The scenario does not exist, is not in trash, or is beyond the 30-day restore window (`IM301`). Restoring a scenario that is already active is rejected rather than answered with its current state — there is nothing to restore, so a repeated or double-submitted restore lands here, as does the loser of two concurrent restores.\n"},"409":{"description":"The scenario was modified concurrently between the placement-guard check and the restore (`SC409`). Nothing was restored; retry the request. Returned only when locked-entities enforcement is enabled for the organization, since only then is the restore serialised against other writes to the scenario.\n"},"422":{"description":"Whether the user may use the locked connections and keys the blueprint references could not be determined (`IM016`). The scenario stays in trash — retry the restore.\n"}}}},"/scenarios/{scenarioId}/data/{moduleId}":{"get":{"tags":["Scenarios"],"summary":"Check module data","description":"Verifies whether the module data is set or not. This endpoint doesn't retrieve the module data.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the scenario module. It is available in the scenario blueprint that can be retrieved from the [Get scenario blueprint](/api-reference/scenarios/blueprint/get--scenarios--scenarioid--blueprint.md) endpoint.","name":"moduleId","in":"path","schema":{"type":"integer"},"example":1,"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"exists":{"type":"boolean"}}},"example":{"exists":true}}}}}}},"/scenarios/{scenarioId}/start":{"post":{"tags":["Scenarios"],"summary":"Activate scenario","description":"Activates the specified scenario. Also runs the scenario if the scenario is scheduled to run at regular intervals. Read more about [scenario scheduling](https://www.make.com/en/help/scenarios/scheduling-a-scenario).\n\nThe API call response contains the scenario ID and the scenario `isActive` property set to `true`.\n","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"isActive":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true}}}}},"example":{"scenario":{"id":5,"isActive":true,"islinked":true}}}}}}}},"/scenarios/{scenarioId}/stop":{"post":{"tags":["Scenarios"],"summary":"Deactivate scenario","description":"Deactivates and stops the specified scenario if the scenario is running. The API call response contains the scenario ID and the scenario `isActive` property set to `false`.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenario":{"type":"object","properties":{"id":{"type":"integer"},"isActive":{"type":"boolean"},"islinked":{"type":"boolean","deprecated":true}}}}},"example":{"scenario":{"id":5,"isActive":false,"islinked":false}}}}}}}},"/scenarios/{scenarioId}/run":{"post":{"tags":["Scenarios"],"summary":"Run a scenario","description":"Runs the specified scenario. The scenario has to be active. If your scenario has required scenario inputs you have to provide the scenario inputs in the request body. If the scenario provides scenario outputs, these are returned in the response.\n\nThe scenario is not run when its organization or team is paused because an operations or data transfer limit was exceeded. In that case the call returns `429` with the code `IM310`, the same way Make stops scheduling the organization's scenarios.\n\n**Note:** [Organization request limits](https://developers.make.com/api-documentation/getting-started/rate-limiting) do **not** apply for this endpoint.\n","security":[{"token":["scenarios:read","scenarios:write","scenarios:run"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"description":"The ID of the scenario. Get the ID of the scenario with the API call `GET /scenarios`.","example":111,"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"If your scenario has inputs specify the input parameters and values in the `data` object."},"responsive":{"type":"boolean","description":"If set to `true` the Make API waits until the scenario finishes. The response contains the scenario `status` and `executionId`. If the scenario execution takes longer than 40 seconds, the API call returns the time out error, but the scenario is still executed.\n\nIf set to `false` the API call returns immediately without waiting. The response contains only the `executionId`.","default":false},"callbackUrl":{"type":"string","description":"Url that will be called once the scenario execution finishes. If the run is responsive and finishes within 40 seconds, the url is not called since the result is present in the response. \n\nThe `callbackUrl` will be called using a `POST` request with the following body:\n\n{\n \"executionId\": `executionId`,\n \"statusUrl\": \"url to retrieve execution status and outputs via GET\"\n }\n "}}},"example":{"data":{"Test input":"Test value","My array":["test 1","test 2"],"My collection":{"key":"value"}},"responsive":false,"callbackUrl":"https://example.com/callback"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"executionId":{"type":"string","description":"ID of the scenario execution."},"status":{"type":"string","description":"Status of the scenario execution:\n\n- `1`: success\n - `2`: warning\n - `3`: error."}}},"examples":{"nonResponsive":{"summary":"Non-responsive","value":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452"}},"responsiveWithin40s":{"summary":"Responsive run that finished within 40 seconds","value":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452","status":"1","outputs":{"output1":"text output","output2":123}}},"responsiveErrorWithin40s":{"summary":"Responsive unsuccessful run that finished within 40 seconds","value":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452","status":"3","error":{"message":"An error occurred while executing the scenario.","name":"RuntimeError","causeModule":{"name":"ActionSendData","appName":"http"}}}},"responsiveAfter40s":{"summary":"Responsive run taking longer than 40 seconds","value":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452"}}}}}},"429":{"description":"The scenario's organization or team is paused because an operations or data transfer limit was exceeded, so no execution was started.\n","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}},"example":{"code":"IM310","message":"Scenario cannot be run because its organization or team is paused. Resolve the exceeded operations or data transfer limit and try again."}}}}}}},"/scenarios/{scenarioId}/replay":{"post":{"x-internal":false,"tags":["Scenarios"],"summary":"Replay scenario executions","description":"Replays the specified executions of the scenario. Each replay creates a new execution that runs the latest version of the scenario with the data of the original execution. The scenario has to be active, and only executions marked as replayable can be replayed. To replay one execution you can also use `POST /scenarios/{scenarioId}/executions/{executionId}/replay`.\n\nUp to 100 executions can be replayed in one call. The executions are processed one by one in the order of the request, so a call with many executions takes proportionally longer to respond. Executions that cannot be replayed (not found, not replayable, or belonging to another team) are skipped and listed in `failed`; the other executions are still queued. If the organization runs out of execution slots or the replay service becomes unavailable, the remaining executions are not attempted and are listed in `failed` with the same reason.\n\nThe call returns `202` as long as at least one execution was queued. If no execution was queued, the call fails with the error of the first execution, for example `422` when a single execution is not replayable. The response property `executionId` holds the ID of the first queued replay and is kept for backward compatibility; use `replayed` to map each original execution to its replay.\n\nThe scenario is not replayed when its organization or team is paused because an operations or data transfer limit was exceeded. In that case the call returns `429` with the code `IM310`.\n","security":[{"token":["scenarios:run"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"description":"The ID of the scenario. Get the ID of the scenario with the API call `GET /scenarios`.","example":111,"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["executionIds"],"properties":{"executionIds":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"description":"IDs of the executions to replay; unique IDs of executions of the same scenario, at most 100 per call. Get the IDs with the API call `GET /scenarios/{scenarioId}/logs`; only executions marked as replayable can be replayed.","items":{"type":"string","minLength":32,"maxLength":32,"pattern":"^[a-zA-Z0-9]+$"}}}},"examples":{"single":{"summary":"Replay one execution","value":{"executionIds":["509f0457d2804ba7b115faf1637beea6"]}},"multiple":{"summary":"Replay several executions","value":{"executionIds":["509f0457d2804ba7b115faf1637beea6","a07e16f2ad134bf49cf83a00aa95c0a5","d949cee5ac204fddb833041a3b4169cc"]}}}}}},"responses":{"202":{"description":"202 Accepted - at least one execution was queued for replay","content":{"application/json":{"schema":{"type":"object","required":["executionId","replayed","failed"],"properties":{"executionId":{"type":"string","description":"ID of the first replay execution that was queued. Kept for backward compatibility; use `replayed` to map every original execution to its replay."},"replayed":{"type":"array","description":"Executions that were queued for replay, in the order of the request.","items":{"type":"object","required":["executionId","replayExecutionId"],"properties":{"executionId":{"type":"string","description":"ID of the original execution."},"replayExecutionId":{"type":"string","description":"ID of the new execution that replays the original one."}}}},"failed":{"type":"array","description":"Executions that could not be queued, in the order of the request. Empty when every execution was queued.","items":{"type":"object","required":["executionId","code","message"],"properties":{"executionId":{"type":"string","description":"ID of the original execution."},"code":{"type":"string","description":"Error code: `SC404` execution not found, `SC422` execution is not replayable, `SC403` execution belongs to another team, `SC429` no execution slot was available, `SC503` replays are temporarily unavailable."},"message":{"type":"string","description":"Human-readable reason."}}}}}},"examples":{"single":{"summary":"One execution replayed","value":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452","replayed":[{"executionId":"509f0457d2804ba7b115faf1637beea6","replayExecutionId":"9c4874979d974c3ebdef1e8aaa7dc452"}],"failed":[]}},"partialFailure":{"summary":"Some executions could not be replayed","value":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452","replayed":[{"executionId":"509f0457d2804ba7b115faf1637beea6","replayExecutionId":"9c4874979d974c3ebdef1e8aaa7dc452"},{"executionId":"a07e16f2ad134bf49cf83a00aa95c0a5","replayExecutionId":"1f0c3b7d2e4a4c8f9b6d5e7a8c9d0e1f"}],"failed":[{"executionId":"d949cee5ac204fddb833041a3b4169cc","code":"SC422","message":"Execution is not replayable"}]}}}}}},"400":{"description":"400 Bad Request - invalid request body, for example an empty list, more than 100 IDs, duplicate IDs or a malformed ID (`IM005`)"},"403":{"description":"403 Forbidden - no execution was queued and the first one belongs to another team (`SC403`)"},"404":{"description":"404 Not Found - no execution was queued and the first one was not found (`SC404`)"},"422":{"description":"422 Unprocessable Entity - the organization or team is paused, or no execution was queued and the first one is not replayable (`SC422`)"},"429":{"description":"429 Too Many Requests - the organization or team is paused because a limit was exceeded (`IM310`), or no execution slot was available (`SC429`)"},"503":{"description":"503 Service Unavailable - execution replays are temporarily unavailable (`SC503`)"}}}},"/scenarios/{scenarioId}/interface":{"get":{"tags":["Scenarios"],"summary":"Get scenario interface","description":"Retrieves the scenario inputs and outputs specification for the specified scenario. Check out the [scenario inputs and outputs documentation](https://help.make.com/scenario-inputs-and-outputs) in the Make help center.The scenario inputs and outputs feature is available with all plans. [Read more about Make pricing.](https://www.make.com/en/pricing)","security":[{"token":["scenarios:read"]}],"parameters":[{"in":"path","name":"scenarioId","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario. Get the list of scenarios with the API call `GET /scenarios`.","example":111}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"interface":{"type":"object","additionalProperties":{}}}},"example":{"interface":{"input":[{"name":"email","type":"text","default":null,"required":false,"multiline":false}],"output":null}}}}}}},"patch":{"tags":["Scenarios"],"summary":"Update scenario interface","description":"Updates specification of the scenario inputs. Check out the [scenario inputs documentation](https://www.make.com/en/help/scenarios/scenario-inputs) in the Make help center.\n\nIf you want to enable the scenario inputs you have to set the scenario scheduling to \"On demand\" first, otherwise you get error 422 (IM016). You can use the API call:\n\n`PATCH /scenarios/{scenarioId}?confirmed=true`\n\nwith the request body:\n\n`{\"scheduling\": \"{\\\"type\\\":\\\"on-demand\\\"}\"}`\n\nYou can disable inputs for the specified scenario by sending a payload with an empty `input` array.\n\nThe response contains the updated scenario inputs specification.\n\nThe scenario inputs feature requires your account to have the pricing plan **Pro** or higher. [Read more about Make pricing.](https://www.make.com/en/pricing)","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario. Get the list of scenarios with the API call `GET /scenarios`.","example":111}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"interface":{"type":"object","additionalProperties":{},"description":"Contains the `input` array with specification of the scenario input parameters."}}},"examples":{"interface-update":{"summary":"Update scenario interface","description":"Updates scenario inputs to the specification you provide in the request body.","value":{"interface":{"input":[{"name":"userName","type":"text","default":"John Doe","required":true,"multiline":false},{"name":"employeeID","type":"number","default":null,"required":false},{"name":"enabledApps_array","spec":{"type":"text","default":"Salesforce","required":true,"multiline":false},"type":"array"},{"name":"myTestInput4_collection","spec":[{"name":"accountName","type":"text","default":"John Doe","required":true,"multiline":false},{"name":"accountID","type":"number","default":null,"required":true}],"type":"collection"}],"output":null}}},"delete-interface":{"summary":"Disable scenario inputs","description":"Disable scenario inputs for the specified scenario by sending empty `input` and `output` arrays in the request body.","value":{"interface":{"input":"","output":""}}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"interface":{"type":"object","additionalProperties":{}}}},"examples":{"interface-update":{"value":{"interface":{"input":[{"name":"userName","type":"text","default":"John Doe","required":true,"multiline":false},{"name":"employeeID","type":"number","default":null,"required":false},{"name":"enabledApps_array","spec":{"type":"text","default":"Salesforce","required":true,"multiline":false},"type":"array"},{"name":"myTestInput4_collection","spec":[{"name":"accountName","type":"text","default":"John Doe","required":true,"multiline":false},{"name":"accountID","type":"number","default":null,"required":true}],"type":"collection"}],"output":null}}},"delete-interface":{"value":{"interface":{"input":null,"output":null}}}}}}}}}},"/scenarios/{scenarioId}/usage":{"get":{"tags":["Scenarios"],"summary":"Get scenario usage","description":"Retrieves a list of daily centicredits, operations, and data transfer usage for a specified scenario over the past 30 days.\n\nBy default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe.\n\nTo use the organization's timezone instead, set the `organizationTimezone` parameter to `true`. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours.\n\nFor instance, a remote data analyst in India working for a Czech company can set `organizationTimezone=true` to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis.\n\nFor more information on timezones in Make, please refer to our [Help Center article](https://www.make.com/en/help/general/manage-time-zones).\n","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"organizationTimezone","in":"query","schema":{"type":"boolean"},"required":false,"description":"When set to `true`, the endpoint will calculate and return usage data based on the organization's timezone instead of the user's local timezone.","example":true}],"responses":{"200":{"description":"Successfully retrieved usage data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"operations":{"type":"integer"},"dataTransfer":{"type":"integer"},"centicredits":{"type":"integer"}}}}}},"example":{"data":[{"date":"2024-05-30","operations":9,"dataTransfer":135,"centicredits":900},{"date":"2024-05-31","operations":15,"dataTransfer":157,"centicredits":1500}]}}}}}}},"/scenarios/{scenarioId}/logs":{"get":{"tags":["Scenarios / Logs"],"summary":"List scenario logs","description":"Retrieves a collection of all logs for a scenario with a given ID. Returned logs are sorted by `imtId` in descending order. Logs with type `modify` can include versioned Scenario History changes in `detail.change`.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"from","in":"query","schema":{"type":"integer"},"description":"The timestamp in milliseconds that defines the starting point of time from which the logs should be retrieved. Older logs will not be returned.","example":1632395547},{"name":"to","in":"query","schema":{"type":"integer"},"description":"The timestamp in milliseconds that defines the ending point of time to which the logs should be retrieved. Newer logs will not be returned.","example":1632395548},{"name":"status","in":"query","schema":{"type":"integer","enum":[1,2,3]},"example":2,"description":"Filters logs by numeric terminal execution status. `1` is for success, `2` is for warning, and `3` is for error. Do not use this parameter with `displayStatus`."},{"name":"displayStatus","in":"query","schema":{"type":"string","enum":["RUNNING","WAITING","SUCCESS","WARNING","ERROR"]},"examples":{"waiting":{"value":"WAITING"}},"description":"Filters execution logs by derived display status. `WAITING` is a timed, parked execution. Do not use this parameter with `status`."},{"name":"durationFrom","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with a duration greater than or equal to this value (in milliseconds).","example":1000},{"name":"durationTo","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with a duration less than or equal to this value (in milliseconds).","example":5000},{"name":"operationsFrom","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with an operations count greater than or equal to this value.","example":0},{"name":"operationsTo","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with an operations count less than or equal to this value.","example":100},{"name":"transferFrom","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with a data transfer greater than or equal to this value (in bytes).","example":0},{"name":"transferTo","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with a data transfer less than or equal to this value (in bytes).","example":10000},{"name":"executionName","in":"query","schema":{"type":"string"},"description":"Filters logs by the execution name (partial match).","example":"My run"},{"name":"creditsFrom","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with credits greater than or equal to this value (in centicredits).","example":0},{"name":"creditsTo","in":"query","schema":{"type":"integer"},"description":"Filters logs to only include executions with credits less than or equal to this value (in centicredits).","example":1000},{"name":"showCheckRuns","in":"query","schema":{"type":"boolean"},"example":true,"description":"If set to `true`, check runs are included in the returned results. By default they are excluded. Check runs concern scenarios starting with a trigger in cases when the trigger does not find anything new."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"name":"pg[showLast]","in":"query","schema":{"type":"boolean"},"example":true,"description":"Include records with `last` value in the result set. Just in case of the `last` based paging."},{"name":"pg[last]","in":"query","schema":{"type":"integer"},"example":10,"description":"The last retrieved key. In response, you get only entries that follow after the key."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioLogs":{"type":"array","items":{"allOf":[{"type":"object","properties":{"imtId":{"type":"string"},"duration":{"type":"integer"},"operations":{"type":"integer"},"transfer":{"type":"integer"},"centicredits":{"type":"integer"},"organizationId":{"type":"integer"},"teamId":{"type":"integer"},"id":{"type":"string"},"type":{"type":"string"},"authorId":{"type":"integer","nullable":true},"authorName":{"type":"string","nullable":true,"description":"Name of the user who triggered the scenario run. Null when authorId is missing or unknown."},"instant":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer","description":"Numeric terminal execution status. `1` is success, `2` is warning, and `3` is error. It is absent for active executions."},"eventType":{"type":"string","description":"Execution lifecycle marker on execution rows. `EXECUTION_PAUSED` means the execution is parked (interrupted) and waiting to resume; a parked row deliberately carries no `status`."},"resumeAt":{"type":"string","format":"date-time","description":"Only on a parked (`eventType: EXECUTION_PAUSED`) row whose wait is time-based: the ISO-8601 timestamp the execution is scheduled to resume. Absent for waits on an external signal (e.g. human-in-the-loop)."},"interruptReason":{"type":"string","enum":["sleep","hitl"],"description":"Only on a parked row: why the execution parked. `sleep` = a timed wait (has `resumeAt`); `hitl` = waiting for human input (no `resumeAt`)."},"interruptModuleId":{"type":"integer","description":"Only on a parked row: id of the module that parked the execution."},"interruptModuleName":{"type":"string","nullable":true,"description":"Only on a parked row: custom name of the module that parked the execution, resolved from the scenario blueprint. `null` when the module has not been renamed."},"provenance":{"description":"Only on execution rows of runs and replays requested through the API, an OAuth app or an MCP client: how the run was requested. Absent on other runs and on runs started before it was recorded.","allOf":[{"type":"object","description":"How a scenario change or run was requested: in the app, with an API token, through an OAuth app, by an MCP client, or by another Make service.","required":["v","channel","auth"],"properties":{"v":{"type":"integer","enum":[1]},"channel":{"type":"string","description":"How the request reached Make: `ui`, `api_token`, `oauth_app`, `mcp`, `service`, `external` or `unknown`. New values may be added."},"auth":{"type":"string","description":"How the request authenticated. New values may be added."},"services":{"type":"array","description":"Make services the request passed through, the original caller first.","items":{"type":"string"}},"tokenLabel":{"type":"string","description":"Label of the API token used."},"oauthClientId":{"type":"string","description":"Client ID of the OAuth app used."},"mcp":{"type":"object","description":"Details of an MCP tool call.","properties":{"authMethod":{"type":"string"},"client":{"type":"string","description":"MCP client, for example `claude`, `cursor` or `openai-mcp`; the client's User-Agent when not recognized."},"conversationId":{"type":"string"},"entrypoint":{"type":"string"},"tool":{"type":"string"},"requestId":{"oneOf":[{"type":"string"},{"type":"number"}]}}},"impersonated":{"type":"boolean","enum":[true],"description":"Present when a Make admin made the change while logged in as the user."},"requestId":{"type":"string","description":"ID of the HTTP request that made the change."}}}]},"detail":{"type":"object","description":"Event-specific details. Modify events can include a versioned Scenario History change.","properties":{"author":{"type":"object","properties":{"name":{"type":"string"},"staff":{"type":"boolean"}}},"change":{"anyOf":[{"type":"object","required":["version","kind","origin","label"],"properties":{"version":{"type":"integer","enum":[1]},"kind":{"type":"string","enum":["label-assigned","label-unassigned"]},"origin":{"type":"string","enum":["direct","cascade"]},"label":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}},{"type":"object","required":["version","kind","origin","fromFolder","toFolder"],"properties":{"version":{"type":"integer","enum":[1]},"kind":{"type":"string","enum":["folder-moved"]},"origin":{"type":"string","enum":["direct","cascade"]},"fromFolder":{"type":"object","nullable":true,"required":["id","name","path"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"}}},"toFolder":{"type":"object","nullable":true,"required":["id","name","path"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"}}}}},{"type":"object","description":"A versioned Scenario History change not yet interpreted by this API specification.","additionalProperties":true}]},"provenance":{"description":"How the change was made. Absent on rows written before it was recorded and on system actions (for example plan downgrades).","allOf":[{"type":"object","description":"How a scenario change or run was requested: in the app, with an API token, through an OAuth app, by an MCP client, or by another Make service.","required":["v","channel","auth"],"properties":{"v":{"type":"integer","enum":[1]},"channel":{"type":"string","description":"How the request reached Make: `ui`, `api_token`, `oauth_app`, `mcp`, `service`, `external` or `unknown`. New values may be added."},"auth":{"type":"string","description":"How the request authenticated. New values may be added."},"services":{"type":"array","description":"Make services the request passed through, the original caller first.","items":{"type":"string"}},"tokenLabel":{"type":"string","description":"Label of the API token used."},"oauthClientId":{"type":"string","description":"Client ID of the OAuth app used."},"mcp":{"type":"object","description":"Details of an MCP tool call.","properties":{"authMethod":{"type":"string"},"client":{"type":"string","description":"MCP client, for example `claude`, `cursor` or `openai-mcp`; the client's User-Agent when not recognized."},"conversationId":{"type":"string"},"entrypoint":{"type":"string"},"tool":{"type":"string"},"requestId":{"oneOf":[{"type":"string"},{"type":"number"}]}}},"impersonated":{"type":"boolean","enum":[true],"description":"Present when a Make admin made the change while logged in as the user."},"requestId":{"type":"string","description":"ID of the HTTP request that made the change."}}}]}}}}},{"type":"object","properties":{"displayStatus":{"allOf":[{"type":"string","enum":["RUNNING","WAITING","SUCCESS","WARNING","ERROR"],"description":"Canonical status derived from the execution document. `WAITING` identifies a timed, parked execution."}],"description":"This field is absent for non-execution history rows."}}}]}},"pg":{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}}}},"examples":{"scheduled":{"summary":"Log of scheduled scenario","description":"Returns log of the scheduled scenario","value":{"scenarioLogs":[{"imtId":"1632371744497_scenario.1229.auto.da518adcd14b4b64ac6358823ccb80ca","duration":19979,"operations":10,"transfer":3942,"centicredits":1000,"organizationId":21,"teamId":27,"id":"da518adcd14b4b64ac6358823ccb80ca","type":"auto","authorId":null,"instant":false,"timestamp":"2021-09-23T04:35:44.497Z","status":1,"displayStatus":"SUCCESS"}],"pg":{"sortBy":"imtId","sortDir":"desc","last":"1632371803593_scenario.1229.auto.3cf2f332f74f43f1b2c4ae431cbedb5b","showLast":false,"limit":50}}},"manual":{"summary":"Log of manual scenario","description":"Returns log of the manual scenario","value":{"scenarioLogs":[{"imtId":"1632398122946_scenario.5.manual.cc1c49323b344687a324888762206003","duration":5611,"operations":2,"transfer":5,"centicredits":200,"organizationId":5,"teamId":16,"id":"cc1c49323b344687a324888762206003","type":"manual","authorId":5,"instant":true,"timestamp":"2021-09-23T11:55:22.946Z","status":1,"displayStatus":"SUCCESS","executionName":"Fancy run name"}],"pg":{"sortBy":"imtId","sortDir":"desc","last":"1632371803593_scenario.1229.auto.3cf2f332f74f43f1b2c4ae431cbedb5b","showLast":false,"limit":50}}},"paused":{"summary":"Log of a parked (paused/waiting) execution","description":"A parked execution surfaces as an `EXECUTION_PAUSED` row carrying `resumeAt`, `interruptReason` and `interruptModuleId` and no `status`. `resumeAt` is present only for time-based waits (`interruptReason: sleep`); a human-in-the-loop wait (`interruptReason: hitl`) has no resume time.","value":{"scenarioLogs":[{"imtId":"1632398200000_scenario.5.auto.aa1c49323b344687a324888762206099","duration":4200,"operations":3,"transfer":12,"centicredits":300,"organizationId":5,"teamId":16,"id":"aa1c49323b344687a324888762206099","type":"auto","authorId":null,"instant":false,"timestamp":"2021-09-23T11:56:40.000Z","eventType":"EXECUTION_PAUSED","resumeAt":"2021-09-23T12:56:40.000Z","interruptReason":"sleep","interruptModuleId":4,"interruptModuleName":"Wait for approval","displayStatus":"WAITING"}],"pg":{"sortBy":"imtId","sortDir":"desc","last":"1632371803593_scenario.1229.auto.3cf2f332f74f43f1b2c4ae431cbedb5b","showLast":false,"limit":50}}},"label-change":{"summary":"Log of a scenario label change","description":"Returns a versioned Scenario History entry for a direct label assignment.","value":{"scenarioLogs":[{"imtId":"1787299200000_28644c1a-89bb-4c24-84a9-1f40fccf73fd","id":"28644c1a-89bb-4c24-84a9-1f40fccf73fd","type":"modify","authorId":985,"authorName":"John Doe","timestamp":"2026-08-21T08:00:00.000Z","detail":{"author":{"name":"John Doe","staff":false},"change":{"version":1,"kind":"label-assigned","origin":"direct","label":{"id":42,"name":"Important"}}}}],"pg":{"sortBy":"imtId","sortDir":"desc","last":"1632371803593_scenario.1229.auto.3cf2f332f74f43f1b2c4ae431cbedb5b","showLast":false,"limit":50}}},"folder-change":{"summary":"Log of a scenario folder change","description":"Returns a versioned Scenario History entry for a direct move from Uncategorized.","value":{"scenarioLogs":[{"imtId":"1787300100000_52cd7898-b958-49e7-a348-8c6244980619","id":"52cd7898-b958-49e7-a348-8c6244980619","type":"modify","authorId":985,"authorName":"John Doe","timestamp":"2026-08-21T08:15:00.000Z","detail":{"author":{"name":"John Doe","staff":false},"change":{"version":1,"kind":"folder-moved","origin":"direct","fromFolder":null,"toFolder":{"id":84,"name":"Prague","path":"Europe/Czechia/Prague"}}}}],"pg":{"sortBy":"imtId","sortDir":"desc","last":"1632371803593_scenario.1229.auto.3cf2f332f74f43f1b2c4ae431cbedb5b","showLast":false,"limit":50}}}}}}}}}},"/scenarios/{scenarioId}/logs/{executionId}":{"get":{"tags":["Scenarios / Logs"],"summary":"Get execution log","description":"Retrieves an execution log with a given ID for a scenario with a given ID. It returns the execution details such as execution duration, type, and status.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the scenario execution. It can be retrieved from the [List scenario logs](/api-reference/scenarios/logs/get--scenarios--scenarioid--logs.md) endpoint under the ID key.","name":"executionId","in":"path","schema":{"type":"string"},"required":true,"example":"cc1c49323b344687a324888762206003"}],"responses":{"200":{"description":"Execution log retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioLog":{"allOf":[{"type":"object","properties":{"imtId":{"type":"string"},"duration":{"type":"integer"},"operations":{"type":"integer"},"transfer":{"type":"integer"},"centicredits":{"type":"integer"},"organizationId":{"type":"integer"},"teamId":{"type":"integer"},"id":{"type":"string"},"type":{"type":"string"},"authorId":{"type":"integer","nullable":true},"authorName":{"type":"string","nullable":true,"description":"Name of the user who triggered the scenario run. Null when authorId is missing or unknown."},"instant":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer","description":"Numeric terminal execution status. `1` is success, `2` is warning, and `3` is error. It is absent for active executions."},"eventType":{"type":"string","description":"Execution lifecycle marker on execution rows. `EXECUTION_PAUSED` means the execution is parked (interrupted) and waiting to resume; a parked row deliberately carries no `status`."},"resumeAt":{"type":"string","format":"date-time","description":"Only on a parked (`eventType: EXECUTION_PAUSED`) row whose wait is time-based: the ISO-8601 timestamp the execution is scheduled to resume. Absent for waits on an external signal (e.g. human-in-the-loop)."},"interruptReason":{"type":"string","enum":["sleep","hitl"],"description":"Only on a parked row: why the execution parked. `sleep` = a timed wait (has `resumeAt`); `hitl` = waiting for human input (no `resumeAt`)."},"interruptModuleId":{"type":"integer","description":"Only on a parked row: id of the module that parked the execution."},"interruptModuleName":{"type":"string","nullable":true,"description":"Only on a parked row: custom name of the module that parked the execution, resolved from the scenario blueprint. `null` when the module has not been renamed."},"provenance":{"description":"Only on execution rows of runs and replays requested through the API, an OAuth app or an MCP client: how the run was requested. Absent on other runs and on runs started before it was recorded.","allOf":[{"type":"object","description":"How a scenario change or run was requested: in the app, with an API token, through an OAuth app, by an MCP client, or by another Make service.","required":["v","channel","auth"],"properties":{"v":{"type":"integer","enum":[1]},"channel":{"type":"string","description":"How the request reached Make: `ui`, `api_token`, `oauth_app`, `mcp`, `service`, `external` or `unknown`. New values may be added."},"auth":{"type":"string","description":"How the request authenticated. New values may be added."},"services":{"type":"array","description":"Make services the request passed through, the original caller first.","items":{"type":"string"}},"tokenLabel":{"type":"string","description":"Label of the API token used."},"oauthClientId":{"type":"string","description":"Client ID of the OAuth app used."},"mcp":{"type":"object","description":"Details of an MCP tool call.","properties":{"authMethod":{"type":"string"},"client":{"type":"string","description":"MCP client, for example `claude`, `cursor` or `openai-mcp`; the client's User-Agent when not recognized."},"conversationId":{"type":"string"},"entrypoint":{"type":"string"},"tool":{"type":"string"},"requestId":{"oneOf":[{"type":"string"},{"type":"number"}]}}},"impersonated":{"type":"boolean","enum":[true],"description":"Present when a Make admin made the change while logged in as the user."},"requestId":{"type":"string","description":"ID of the HTTP request that made the change."}}}]},"detail":{"type":"object","description":"Event-specific details. Modify events can include a versioned Scenario History change.","properties":{"author":{"type":"object","properties":{"name":{"type":"string"},"staff":{"type":"boolean"}}},"change":{"anyOf":[{"type":"object","required":["version","kind","origin","label"],"properties":{"version":{"type":"integer","enum":[1]},"kind":{"type":"string","enum":["label-assigned","label-unassigned"]},"origin":{"type":"string","enum":["direct","cascade"]},"label":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}},{"type":"object","required":["version","kind","origin","fromFolder","toFolder"],"properties":{"version":{"type":"integer","enum":[1]},"kind":{"type":"string","enum":["folder-moved"]},"origin":{"type":"string","enum":["direct","cascade"]},"fromFolder":{"type":"object","nullable":true,"required":["id","name","path"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"}}},"toFolder":{"type":"object","nullable":true,"required":["id","name","path"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"}}}}},{"type":"object","description":"A versioned Scenario History change not yet interpreted by this API specification.","additionalProperties":true}]},"provenance":{"description":"How the change was made. Absent on rows written before it was recorded and on system actions (for example plan downgrades).","allOf":[{"type":"object","description":"How a scenario change or run was requested: in the app, with an API token, through an OAuth app, by an MCP client, or by another Make service.","required":["v","channel","auth"],"properties":{"v":{"type":"integer","enum":[1]},"channel":{"type":"string","description":"How the request reached Make: `ui`, `api_token`, `oauth_app`, `mcp`, `service`, `external` or `unknown`. New values may be added."},"auth":{"type":"string","description":"How the request authenticated. New values may be added."},"services":{"type":"array","description":"Make services the request passed through, the original caller first.","items":{"type":"string"}},"tokenLabel":{"type":"string","description":"Label of the API token used."},"oauthClientId":{"type":"string","description":"Client ID of the OAuth app used."},"mcp":{"type":"object","description":"Details of an MCP tool call.","properties":{"authMethod":{"type":"string"},"client":{"type":"string","description":"MCP client, for example `claude`, `cursor` or `openai-mcp`; the client's User-Agent when not recognized."},"conversationId":{"type":"string"},"entrypoint":{"type":"string"},"tool":{"type":"string"},"requestId":{"oneOf":[{"type":"string"},{"type":"number"}]}}},"impersonated":{"type":"boolean","enum":[true],"description":"Present when a Make admin made the change while logged in as the user."},"requestId":{"type":"string","description":"ID of the HTTP request that made the change."}}}]}}}}},{"type":"object","required":["displayStatus"],"properties":{"displayStatus":{"type":"string","enum":["RUNNING","WAITING","SUCCESS","WARNING","ERROR"],"description":"Canonical status derived from the execution document. `WAITING` identifies a timed, parked execution."}}}]}}},"example":{"scenarioLog":{"imtId":"1632398122946_scenario.5.manual.cc1c49323b344687a324888762206003","duration":5611,"operations":2,"transfer":5,"centicredits":200,"organizationId":5,"teamId":16,"id":"cc1c49323b344687a324888762206003","type":"manual","authorId":5,"instant":true,"timestamp":"2021-09-23T11:55:22.946Z","status":1,"displayStatus":"SUCCESS"}}}}}}}},"/scenarios/{scenarioId}/executions/{executionId}":{"get":{"tags":["Scenarios / Logs"],"summary":"Get scenario execution details","description":"Retrieves details about an execution.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the scenario execution. It can be retrieved from the [List scenario logs](/api-reference/scenarios/logs/get--scenarios--scenarioid--logs.md) endpoint under the ID key.","name":"executionId","in":"path","schema":{"type":"string"},"required":true,"example":"cc1c49323b344687a324888762206003"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["RUNNING","SUCCESS","WARNING","ERROR","PAUSED"],"description":"Status of the scenario execution:\n\n- RUNNING\n - SUCCESS\n - WARNING\n - ERROR\n - PAUSED — the execution is parked (interrupted) and waiting to resume "},"resumeAt":{"type":"string","format":"date-time","description":"Only present when `status` is `PAUSED` and the wait is time-based: the ISO-8601 timestamp the execution is scheduled to resume. Absent for waits on an external signal (e.g. human-in-the-loop).","example":"2026-09-10T12:00:00.000Z"},"interruptReason":{"type":"string","enum":["sleep","hitl"],"description":"Only present when `status` is `PAUSED`: why the execution parked. `sleep` = a timed wait (has `resumeAt`); `hitl` = waiting for human input (no `resumeAt`)."},"interruptModuleId":{"type":"integer","description":"Only present when `status` is `PAUSED`: id of the module that parked the execution.","example":4},"outputs":{"type":"object","additionalProperties":true,"description":"Outputs of the scenario execution. The structure of the outputs depends on the scenario configuration.","example":{"output1":"text output","output2":123}},"error":{"type":"object","properties":{"name":{"type":"string","description":"Name of the error."},"message":{"type":"string","description":"Description of the error."},"causeModule":{"type":"object","properties":{"name":{"type":"string","description":"Name of the module that caused the error."},"appName":{"type":"string","description":"Name of the app that caused the error."}}}}}}},"examples":{"successExecution":{"summary":"Successful execution","value":{"status":"SUCCESS","outputs":{"output1":"text output","output2":123}}},"runningExecution":{"summary":"Running execution","value":{"status":"RUNNING"}},"pausedExecutionTimedWait":{"summary":"Paused execution waiting until a resume time (sleep)","value":{"status":"PAUSED","resumeAt":"2026-09-10T12:00:00.000Z","interruptReason":"sleep","interruptModuleId":4}},"pausedExecutionHitl":{"summary":"Paused execution waiting for human input","value":{"status":"PAUSED","interruptReason":"hitl","interruptModuleId":4}},"executionWithError":{"summary":"Failed execution","value":{"status":"ERROR","error":{"message":"An error occurred while executing the scenario.","name":"RuntimeError","causeModule":{"name":"ActionSendData","appName":"http"}}}},"executionWithWarning":{"summary":"Execution completed with warning","value":{"status":"WARNING","error":{"message":"An error occurred while executing the scenario.","name":"RuntimeError","causeModule":{"name":"ActionSendData","appName":"http"}}}}}}}}}}},"/scenarios/{scenarioId}/executions/{executionId}/stop":{"post":{"tags":["Scenarios / Logs"],"summary":"Stop scenario execution","description":"Stops a running execution. Use `force: true` to immediately terminate the execution without waiting for the current module to finish.","security":[{"token":["scenarios:run"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the scenario execution. It can be retrieved from the [List scenario logs](/api-reference/scenarios/logs/get--scenarios--scenarioid--logs.md) endpoint under the ID key.","name":"executionId","in":"path","schema":{"type":"string"},"required":true,"example":"cc1c49323b344687a324888762206003"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"force":{"type":"boolean","description":"If set to `true`, the execution is terminated immediately. If set to `false` or omitted, the execution stops after the current module finishes.","default":false}}},"example":{"force":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{}}}}}}},"/scenarios/{scenarioId}/executions/{executionId}/replay":{"post":{"x-internal":false,"tags":["Scenarios / Logs"],"summary":"Replay a scenario execution","description":"Replays one execution of the scenario. The replay creates a new execution that runs the latest version of the scenario with the data of the original execution. The scenario has to be active, and only executions marked as replayable can be replayed.\n\nTo replay several executions (up to 100) in one call, use `POST /scenarios/{scenarioId}/replay`.\n\nThe scenario is not replayed when its organization or team is paused because an operations or data transfer limit was exceeded. In that case the call returns `429` with the code `IM310`.\n","security":[{"token":["scenarios:run"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the scenario execution. It can be retrieved from the [List scenario logs](/api-reference/scenarios/logs/get--scenarios--scenarioid--logs.md) endpoint under the ID key.","name":"executionId","in":"path","schema":{"type":"string"},"required":true,"example":"cc1c49323b344687a324888762206003"}],"responses":{"202":{"description":"202 Accepted - the replay was queued","content":{"application/json":{"schema":{"type":"object","required":["executionId"],"properties":{"executionId":{"type":"string","description":"ID of the new execution that replays the original one."}}},"example":{"executionId":"9c4874979d974c3ebdef1e8aaa7dc452"}}}},"400":{"description":"400 Bad Request - malformed execution ID (`IM005`)"},"403":{"description":"403 Forbidden - the execution belongs to another team (`SC403`)"},"404":{"description":"404 Not Found - the execution was not found (`SC404`)"},"422":{"description":"422 Unprocessable Entity - the organization or team is paused, or the execution is not replayable (`SC422`)"},"429":{"description":"429 Too Many Requests - the organization or team is paused because a limit was exceeded (`IM310`), or no execution slot was available (`SC429`)"},"503":{"description":"503 Service Unavailable - execution replays are temporarily unavailable (`SC503`)"}}}},"/scenarios/{scenarioId}/modules/operations":{"get":{"tags":["Scenarios / Logs"],"deprecated":true,"summary":"Operations by Module","description":"Retrieves an aggregated list of operations per module within a specified time period.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"days","in":"query","schema":{"type":"integer"},"description":"Days to summarize retrospectively. Default 1, must be between 1 and 30.","example":1,"required":false}],"responses":{"200":{"description":"Module log retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"operations":{"type":"array","items":{"type":"object","properties":{"moduleId":{"type":"integer"},"total":{"type":"integer","description":"The total number of module executions, including warnings and errors, within a specified time period."},"warnings":{"type":"integer"},"errors":{"type":"integer"}}}}}},"example":{"operations":[{"moduleId":1,"total":315,"warnings":0,"errors":1}]}}}}}}},"/scenarios/{scenarioId}/modules/{moduleId}/logs":{"get":{"tags":["Scenarios / Logs"],"summary":"List module logs","description":"Retrieves an operation logs of a given module within a given scenario. Returns the operation details such as execution id, timestamp or status.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the scenario module. It is available in the scenario blueprint that can be retrieved from the [Get scenario blueprint](/api-reference/scenarios/blueprint/get--scenarios--scenarioid--blueprint.md) endpoint.","name":"moduleId","in":"path","schema":{"type":"integer"},"example":1,"required":true},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."},{"name":"pg[showLast]","in":"query","schema":{"type":"boolean"},"example":true,"description":"Include records with `last` value in the result set. Just in case of the `last` based paging."},{"name":"pg[last]","in":"query","schema":{"type":"integer"},"example":10,"description":"The last retrieved key. In response, you get only entries that follow after the key."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."}],"responses":{"200":{"description":"Module logs retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"moduleLogs":{"type":"array","items":{"type":"object","properties":{"imtId":{"type":"string"},"executionId":{"type":"string"},"organizationId":{"type":"integer"},"teamId":{"type":"integer"},"scenarioId":{"type":"integer"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer"},"bundles":{"type":"integer"},"size":{"type":"integer"},"warning":{"type":"object","description":"Present when status equals 2.","properties":{"message":{"type":"string"}}},"error":{"type":"object","description":"Present when status equals 3.","properties":{"message":{"type":"string"}}}}}},"pg":{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}}}},"example":{"moduleLogs":[{"imtId":"1632398122946_384ef653d04844589e1c8427c13ffb15","executionId":"384ef653d04844589e1c8427c13ffb15","organizationId":5,"teamId":16,"scenarioId":5,"timestamp":"2021-09-23T11:55:22.946Z","status":1,"bundles":1}]}}}}}}},"/scenarios/{scenarioId}/notes":{"get":{"tags":["Scenarios / Notes"],"summary":"List of scenario notes","description":"Retrieves a collection of all scenario notes for a team and organization with a given ID. Returned notes are sorted by their id in descending order.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"scenarioId":{"type":"integer"},"moduleIds":{"type":"array","items":{"type":"integer"}},"metadata":{"type":"object"},"content":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string","nullable":true},"isFilterNote":{"type":"boolean"},"createdByUser":{"type":"object"},"updatedByUser":{"type":"object"}}}}}},"example":{"notes":[{"id":4,"scenarioId":19,"moduleIds":[1],"metadata":{"color":"#9138FE"},"content":"<p>This is a test note</p>","created":"2025-09-01T12:58:42.994Z","updated":null,"isFilterNote":false,"createdByUser":{"id":2,"name":"John Doe","email":"j.doe@make.com"},"updatedByUser":{}}]}}}}}},"post":{"tags":["Scenarios / Notes"],"summary":"Create scenario note","description":"Creates a new scenario note with data passed in the request body. As the response, it returns all details of the created scenario note.","security":[{"token":["scenarios:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"moduleIds":{"type":"array","items":{"type":"integer"}},"metadata":{"type":"object"},"content":{"type":"string"},"isFilterNote":{"type":"boolean"}}},"example":{"moduleIds":[1],"metadata":{"color":"#9138FE"},"content":"<p>This is a test note</p>","isFilterNote":false}}}},"responses":{"200":{"description":"Created a Note","content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"integer"},"scenarioId":{"type":"integer"},"moduleIds":{"type":"array","items":{"type":"integer"}},"metadata":{"type":"object"},"content":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string","nullable":true},"isFilterNote":{"type":"boolean"},"createdByUser":{"type":"object"},"updatedByUser":{"type":"object"}}}}},"example":{"note":{"id":4,"scenarioId":19,"moduleIds":[1],"metadata":{"color":"#9138FE"},"content":"<p>This is a test note</p>","created":"2025-09-01T12:58:42.994Z","updated":null,"isFilterNote":false,"createdByUser":{"id":2,"name":"John Doe","email":"j.doe@make.com"},"updatedByUser":{}}}}}}}}},"/scenarios/{scenarioId}/notes/{noteId}":{"get":{"tags":["Scenarios / Notes"],"summary":"Get scenario note details","description":"Retrieves all available properties of a scenario note with a given ID.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"noteId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario module note.","example":4},{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"integer"},"scenarioId":{"type":"integer"},"moduleIds":{"type":"array","items":{"type":"integer"}},"metadata":{"type":"object"},"content":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string","nullable":true},"isFilterNote":{"type":"boolean"},"createdByUser":{"type":"object"},"updatedByUser":{"type":"object"}}}}},"example":{"note":{"id":4,"scenarioId":19,"moduleIds":[1],"metadata":{"color":"#9138FE"},"content":"<p>This is a test note</p>","created":"2025-09-01T12:58:42.994Z","updated":null,"isFilterNote":false,"createdByUser":{"id":2,"name":"John Doe","email":"j.doe@make.com"},"updatedByUser":{}}}}}}}},"patch":{"tags":["Scenarios / Notes"],"summary":"Update scenario note","description":"Updates a scenario note with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated note including properties that were not changed.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"noteId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario module note.","example":4},{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"moduleIds":{"type":"array","items":{"type":"integer"}},"metadata":{"type":"object"},"content":{"type":"string"},"isFilterNote":{"type":"boolean"}}},"example":{"moduleIds":[1],"metadata":{"color":"#9138FE"},"content":"<p>This is a test note</p>","isFilterNote":false}}}},"responses":{"200":{"description":"Note updated","content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"integer"},"scenarioId":{"type":"integer"},"moduleIds":{"type":"array","items":{"type":"integer"}},"metadata":{"type":"object"},"content":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string","nullable":true},"isFilterNote":{"type":"boolean"},"createdByUser":{"type":"object"},"updatedByUser":{"type":"object"}}}}},"example":{"note":{"id":4,"scenarioId":19,"moduleIds":[1],"metadata":{"color":"#9138FE"},"content":"<p>This is a test note</p>","created":"2025-09-01T12:58:42.994Z","updated":null,"isFilterNote":false,"createdByUser":{"id":2,"name":"John Doe","email":"j.doe@make.com"},"updatedByUser":{}}}}}}}},"delete":{"tags":["Scenarios / Notes"],"summary":"Delete scenario note","description":"Deletes a scenario note with a given ID and returns the ID in the response.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"noteId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario module note.","example":4},{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"}}},"example":{"id":123}}}}}}},"/scenarios/{scenarioId}/blueprint":{"get":{"tags":["Scenarios / Blueprints"],"summary":"Get scenario blueprint","description":"Retrieves a blueprint of a scenario with a given ID.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"blueprintId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the blueprint version. It can be retrieved from the [Get blueprint versions](/api-reference/scenarios/blueprints/get--scenarios--scenarioid--blueprints.md) endpoint. This parameter can be useful when you want to retrieve the older version of the blueprint.","example":12},{"name":"draft","in":"query","schema":{"type":"boolean"},"description":"If this parameter is set to `true`, the draft version of the scenario blueprint will be retrieved. If set to `false`, the live version of the blueprint will be retrieved. In case that the `blueprintId` parameter is set to the query as well, this parameter is ignored.","example":false}],"responses":{"200":{"description":"Blueprint retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"response":{"type":"object","properties":{"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}}},"scheduling":{"type":"object","properties":{"type":{"type":"string","enum":["immediately","indefinitely","once","daily","weekly","monthly","yearly"]},"interval":{"type":"integer","minimum":0},"date":{"type":"string","format":"date-time"},"between":{"type":"array","items":{"type":"string","format":"date-time"}},"time":{"type":"string","pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}},"restrict":{"type":"array","items":{"type":"object","properties":{"time":{"type":"array","items":{"type":"string","nullable":true,"pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"}},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}}}}},"maximum_runs_per_minute":{"type":"integer","nullable":true,"minimum":1,"maximum":10000}}},"idSequence":{"type":"integer"},"created":{"type":"string","format":"date-time"},"last_edit":{"type":"string","format":"date-time"},"version":{"type":"integer","description":"The scenario's current version number (the highest version in its history, draft or published; `0` for a scenario without versions). It is the scenario's current version even when `blueprintId` selects an older blueprint. Send it back as `baseVersion` in `PATCH /scenarios/{scenarioId}` to have the save rejected if the scenario changed meanwhile.\n"}}}}},"example":{"code":"OK","response":{"blueprint":{"name":"Empty integration","flow":[{"id":2,"module":"json:ParseJSON","version":1,"metadata":{"designer":{"x":-46,"y":47,"messages":[{"category":"last","severity":"warning","message":"A transformer should not be the last module in the route."}]}}}],"metadata":{"version":1,"scenario":{"roundtrips":1,"maxErrors":3,"autoCommit":true,"autoCommitTriggerLast":true,"sequential":false,"confidential":false,"dataloss":false,"dlq":false,"freshVariables":false},"designer":{"orphans":[]}}},"scheduling":{"type":"indefinitely","interval":900},"idSequence":4,"created":"2021-09-22T09:28:41.129Z","last_edit":"2021-09-22T09:40:31.488Z","version":12}}}}}}}},"/scenarios/{scenarioId}/blueprints":{"get":{"tags":["Scenarios / Blueprints"],"summary":"Get blueprint versions","description":"Retrieves a collection of all blueprints versions for a scenario with a given ID. Due to the regular archiving process, only the versions that are not older than 60 days can be retrieved. Each returned blueprint version consists of the date and time of the blueprint creation, IDs of the blueprint version and related scenario, and the information if the blueprint was created for the draft or live scenario version.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Blueprints versions successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"scenariosBlueprints":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string","format":"date-time"},"version":{"type":"integer"},"scenarioId":{"type":"integer"},"draft":{"type":"boolean"},"versionDescription":{"type":"string","nullable":true},"provenance":{"description":"How the version was saved. `null` for versions saved before it was recorded and for system saves.","nullable":true,"allOf":[{"type":"object","description":"How a scenario change or run was requested: in the app, with an API token, through an OAuth app, by an MCP client, or by another Make service.","required":["v","channel","auth"],"properties":{"v":{"type":"integer","enum":[1]},"channel":{"type":"string","description":"How the request reached Make: `ui`, `api_token`, `oauth_app`, `mcp`, `service`, `external` or `unknown`. New values may be added."},"auth":{"type":"string","description":"How the request authenticated. New values may be added."},"services":{"type":"array","description":"Make services the request passed through, the original caller first.","items":{"type":"string"}},"tokenLabel":{"type":"string","description":"Label of the API token used."},"oauthClientId":{"type":"string","description":"Client ID of the OAuth app used."},"mcp":{"type":"object","description":"Details of an MCP tool call.","properties":{"authMethod":{"type":"string"},"client":{"type":"string","description":"MCP client, for example `claude`, `cursor` or `openai-mcp`; the client's User-Agent when not recognized."},"conversationId":{"type":"string"},"entrypoint":{"type":"string"},"tool":{"type":"string"},"requestId":{"oneOf":[{"type":"string"},{"type":"number"}]}}},"impersonated":{"type":"boolean","enum":[true],"description":"Present when a Make admin made the change while logged in as the user."},"requestId":{"type":"string","description":"ID of the HTTP request that made the change."}}}]}}}}}},"example":{"scenariosBlueprints":[{"created":"2021-08-25T17:48:07.360Z","version":16,"scenarioId":424,"draft":false,"versionDescription":"Updated filters","provenance":{"v":1,"channel":"mcp","auth":"isc","services":["mcp-server-host"],"mcp":{"client":"claude","tool":"scenarios_update"}}}]}}}}}}},"/scenarios/{scenarioId}/build-variables":{"get":{"tags":["Scenarios"],"summary":"List buildtime variables","description":"Retrieves buildtime variables of a scenario with the given ID. Buildtime variables could be team or user defined, team defined ones are prefixed with a `TAC_` and user defined variables are prefixed with a `PAC_`. `TAC_`s can be used within the scenario as per its input spec by the entire team, whereas `PAC_`s can only be used within the scenario by the user who added them.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"variables":{"type":"object"}}},"example":{"variables":{"input":{"myPersonalConn1":"PAC_123455551","ourTeamConn1":"TAC_11112222"}}}}}}}},"post":{"tags":["Scenarios"],"summary":"Add new buildtime variables to scenario metadata","description":"Adds new buildtime team or user defined variable/s. Buildtime variables should be prefixed either with a `TAC_` (for team defined variables) or with a `PAC_` (for personal user defined variables), followed by the connection value. If a variable already exists, an error will be thrown. If a variable's name is not within scenario input specification, an error will be thrown. If the adding of new variables was successful the reponse would be `OK`.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name for the buildtime variable. The maximum length of the name is 128 characters."},"value":{"type":"string","description":"The value for the buildtime variable. It should start either with TAC_ or PAC_ followed by numeric chars only."}}}}}},"example":{"input":[{"name":"myPersonalConn1","value":"PAC_123455552"}]}}}},"responses":{"200":{"description":"Buildtime variables added successfully","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}},"400":{"description":"A team variable names a locked connection (`IM022`). A locked entity is not supported as a dynamic connection in this version, for every caller — select the connection in the module instead. Returned only when locked-entities enforcement is enabled for the organization, and only for a connection the scenario does not already use as a team variable under some name.\n"},"422":{"description":"Validation against the scenario input specification failed (`IM016`). Either a submitted value does not match the type declared for the variable (the response names the variable, its declared type and the JSON type of the submitted value; the value itself is not echoed back), or the stored input specification is malformed, for example an entry or a nested element specification without a name or type (the response carries the rejected specification fragment).","content":{"application/json":{"schema":{"type":"object","required":["code","message","detail","metadata"],"properties":{"code":{"type":"string","enum":["IM016"],"description":"Machine-readable error code. `IM016` is raised when a buildtime variable value does not match the type declared for it in the scenario input specification, or when the stored scenario input specification is malformed, for example an entry or a nested element specification without a name or type."},"message":{"type":"string","description":"Localized text for the error code."},"detail":{"type":"string","description":"Human-readable reason. For a type mismatch it names the rejected variable, the type its input specification declares and the JSON type of the submitted value; the submitted value itself is never echoed back. For a malformed input specification it says what the specification is missing."},"metadata":{"description":"Structured context for the error; its shape depends on the cause.","anyOf":[{"title":"Type mismatch","type":"object","required":["name","type","actualJsonbType"],"properties":{"name":{"type":"string","description":"Name of the rejected buildtime variable."},"type":{"type":"string","description":"Type declared for the variable in the scenario input specification."},"actualJsonbType":{"type":"string","enum":["string","number","boolean","object","array"],"description":"JSON type of the submitted value."}}},{"title":"Malformed input specification","description":"The fragment of the stored scenario input specification that failed validation, returned as-is. Usually a top-level entry object; for nested collection or array variables it is the nested element specification, which can be any JSON value (object, array, string, number, boolean or null)."}]}}},"example":{"code":"IM016","message":"Action is not possible due to dependencies.","detail":"Invalid value of variable myNumberVar. Type number expected, got string.","metadata":{"name":"myNumberVar","type":"number","actualJsonbType":"string"}}}}}}},"put":{"tags":["Scenarios"],"summary":"Update buildtime variables in scenario metadata","description":"Updates team or user defined buildtime variable/s. The endpoint updates and overwrites exsiting records with the newly provided values, meaning any existing buildtime variable which is not provided through the payload will be overwritten. Buildtime variables should be prefixed either with a `TAC_` (for team defined variables) or with a `PAC_` (for personal user defined variables), followed by the connection value. If a variable doesn't exist, it will be added provided that its name is within the scenario input specification. If the updating of variables was successful the reponse would be `OK`.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name for the buildtime variable. The maximum length of the name is 128 characters."},"value":{"type":"string","description":"The value for the buildtime variable. It should start either with TAC_ or PAC_ followed by numeric chars only."}}}}}},"example":{"input":[{"name":"myPersonalConn1","value":"PAC_123455552"},{"name":"ourTeamConn1","value":"TAC_11112222"}]}}}},"responses":{"200":{"description":"Buildtime variables updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}},"400":{"description":"A team variable names a locked connection (`IM022`). A locked entity is not supported as a dynamic connection in this version, for every caller — select the connection in the module instead. Returned only when locked-entities enforcement is enabled for the organization, and only for a connection the scenario does not already use as a team variable under some name — a payload that only keeps or removes existing values always passes.\n"},"422":{"description":"Validation against the scenario input specification failed (`IM016`). Either a submitted value does not match the type declared for the variable (the response names the variable, its declared type and the JSON type of the submitted value; the value itself is not echoed back), or the stored input specification is malformed, for example an entry or a nested element specification without a name or type (the response carries the rejected specification fragment).","content":{"application/json":{"schema":{"type":"object","required":["code","message","detail","metadata"],"properties":{"code":{"type":"string","enum":["IM016"],"description":"Machine-readable error code. `IM016` is raised when a buildtime variable value does not match the type declared for it in the scenario input specification, or when the stored scenario input specification is malformed, for example an entry or a nested element specification without a name or type."},"message":{"type":"string","description":"Localized text for the error code."},"detail":{"type":"string","description":"Human-readable reason. For a type mismatch it names the rejected variable, the type its input specification declares and the JSON type of the submitted value; the submitted value itself is never echoed back. For a malformed input specification it says what the specification is missing."},"metadata":{"description":"Structured context for the error; its shape depends on the cause.","anyOf":[{"title":"Type mismatch","type":"object","required":["name","type","actualJsonbType"],"properties":{"name":{"type":"string","description":"Name of the rejected buildtime variable."},"type":{"type":"string","description":"Type declared for the variable in the scenario input specification."},"actualJsonbType":{"type":"string","enum":["string","number","boolean","object","array"],"description":"JSON type of the submitted value."}}},{"title":"Malformed input specification","description":"The fragment of the stored scenario input specification that failed validation, returned as-is. Usually a top-level entry object; for nested collection or array variables it is the nested element specification, which can be any JSON value (object, array, string, number, boolean or null)."}]}}},"example":{"code":"IM016","message":"Action is not possible due to dependencies.","detail":"Invalid value of variable myNumberVar. Type number expected, got string.","metadata":{"name":"myNumberVar","type":"number","actualJsonbType":"string"}}}}}}},"delete":{"tags":["Scenarios"],"summary":"Delete buildtime variable","description":"Deletes a buildtime variable with a given value for a scenario with a given ID and returns `OK` in the response.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"value","in":"query","required":true,"schema":{"type":"string"},"description":"The value of the buildtime variable","example":"PAC_123455551"}],"responses":{"200":{"description":"Buildtime variable deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/scenarios/consumptions":{"get":{"tags":["Scenarios / Consumptions"],"summary":"List scenario consumptions","description":"Retrieves a list of scenarios and their current consumption. Make counts the number of consumed centicredits, operations, and transferred data according to your reset period.\n\nIf you have a monthly reset period, the response contains a list of scenarios that consumed at least one hundred centicredits (one operation) in the current reset period with their consumption and data transfer..\n\n<div class=\"alert alert-warning\"> <p>If you have a yearly reset period, the response contains a list of scenarios that consumed at least one hundred centicredits (one operation) in the last 60 days, or from the last reset if that period is shorter than 60 days.</p>\n<p>60 days after the reset the scenario consumptions turn into running totals over the last 60 days.</p>\n<p>For example, let's assume that you have a set of scenarios that consume 100000 centicredits (1000 operations) every day. On the 61st day from your last reset, you turn off a scenario that consumes 20000 centicredits (200 operations) every day, reducing your consumption to 80000 centicredits (800 operations) per day.<p>\n<p>If you would have the yearly reset period and you would be tracking your scenario consumptions, you would get the following data:</p>\n<div itemscope itemtype=\"https://schema.org/FAQPage\"> <div class=\"card table\"> <table class=\"table\"> <thead> <tr> <th><strong class=\"text-nowrap\">Day</strong></th> <th><strong>Consumptions</strong></th> <th><strong>Delta</strong></th> </tr> </thead> <tbody> <tr> <td>1</td> <td>1000</td> <td></td> </tr> <tr> <td>2</td> <td>2000</td> <td>1000</td> </tr> <tr> <td>3</td> <td>3000</td> <td>1000</td> </tr> <tr> <td>...</td> <td></td> <td></td> </tr> <tr> <td>60</td> <td>60000</td> <td>1000</td> </tr> <tr> <td>61</td> <td>59800</td> <td>-200</td> </tr> <tr> <td>62</td> <td>59600</td> <td>-200</td> </tr> </tbody> </table> </div> </div>\n<p>The negative difference between scenario consumptions on the 60th and 61st day happens because on the 61st day, the endpoint doesn't collect data from the first day anymore. Your scenario consumptions contain a total over the time period from the second day until the 61st day.</p>\n<p>For billing, Make uses a different system which ensures accurate billing.<p> </div>\n\nCheck the parameter `lastReset` in the response for the timestamp of the start of your current reset period. You can also view the end of your current restart period in your dashboard in the **Usage reset** field.\n\nSet the `organizationId` or `teamId` parameters to limit the results to a specific organization or team.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":11,"description":"The ID of the organization."}],"responses":{"200":{"description":"Retrieved a list of Consumptions","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioConsumptions":{"type":"array","items":{"type":"object","properties":{"scenarioId":{"type":"integer"},"operations":{"type":"integer"},"transfer":{"type":"integer"},"centicredits":{"type":"integer"}}}},"lastReset":{"type":"string","format":"date-time"}}},"example":{"scenarioConsumptions":[{"scenarioId":1128,"operations":9,"transfer":135},{"scenarioId":424,"operations":5,"transfer":143,"centicredits":500}],"lastReset":"2021-09-10T08:53:25.292Z"}}}}}}},"/scenarios/tools/{scenarioId}":{"patch":{"tags":["Scenarios / Tools"],"summary":"Update tool configuration","description":"Updates a tool configuration with a given scenario ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated tool configuration of the underlying scenario, including properties that were not changed.","security":[{"token":["scenarios:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","hookId","devices","deviceId","deviceScope","description","folderId","concept","folderPath","isinvalid","islinked","isActive","islocked","isPaused","usedPackages","usedModules","lastEdit","scheduling","iswaiting","dlqCount","allDlqCount","chainingRole","isShared","type","createdByUser","updatedByUser","created","nextExec","operations","centicredits","transfer","executions","errors","customProperties","templateMetadata","deleted","deletedAt","labels"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the tool."},"description":{"type":"string","description":"A description of the tool."},"inputs":{"type":"array","items":{"type":"object"}},"module":{"type":"object","description":"The module of the tool. The module is a JSON object that contains the module ID, version, mapper, parameters, and metadata."}}},"examples":{"update":{"summary":"Dummy tool","value":{"name":"New tool name"}}}}}},"responses":{"200":{"description":"Scenario was updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"tool":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"inputs":{"type":"array"},"teamId":{"type":"integer"},"module":{"type":"object","properties":{"module":{"type":"string"},"version":{"type":"integer"},"mapper":{"type":"object"},"parameters":{"type":"object"},"metadata":{"type":"object"}}}}}}},"example":{"tool":{"id":1,"name":"Dummy Tool","description":"This is a dummy tool for testing purposes.","inputs":[],"teamId":1,"module":{"module":"dummy:ActionDummy","version":1,"mapper":{},"parameters":{},"metadata":{}}}}}}},"403":{"description":"A module in the blueprint places a locked connection or key the user is not allowed to use (`IM002`, placement guard). Returned only when locked-entities enforcement is enabled for the organization; an untouched frozen module and releasing a locked entity (swapping it out or removing its module) always pass.\n"},"409":{"description":"The scenario was modified concurrently between the placement-guard check and the save (`SC409`). The save was not applied; retry the request.\n"}}}},"/scenarios/ai-agents":{"get":{"tags":["Scenarios"],"summary":"List AI agent scenarios","description":"Retrieves scenarios that contain at least one AI agent module for the specified team. Results are sorted by last edit date in descending order.","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."}],"responses":{"200":{"description":"Retrieved AI agent scenarios","content":{"application/json":{"schema":{"type":"object","properties":{"scenarios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"The unique ID of the scenario.","example":42},"name":{"type":"string","description":"The name of the scenario.","example":"My AI Agent Scenario"},"description":{"type":"string","nullable":true,"description":"The description of the scenario.","example":"A scenario that uses AI agents."},"isActive":{"type":"boolean","description":"Whether the scenario is currently active.","example":true},"teamId":{"type":"integer","description":"The unique ID of the team.","example":5},"created":{"type":"string","format":"date-time","description":"The date and time when the scenario was created."},"lastEdit":{"type":"string","format":"date-time","description":"The date and time when the scenario was last edited."},"scheduling":{"type":"object","description":"The scheduling configuration of the scenario."},"usedPackages":{"type":"array","items":{"type":"string"},"description":"The list of app packages used in the scenario.","example":["ai-local-agent","http"]},"agentCount":{"type":"integer","description":"The number of AI agent modules in the scenario.","example":2},"createdByUser":{"type":"object","nullable":true,"description":"The user who created the scenario.","properties":{"id":{"type":"integer","description":"The unique ID of the user.","example":1},"name":{"type":"string","nullable":true,"description":"The name of the user.","example":"John Doe"},"email":{"type":"string","description":"The email address of the user.","example":"john@example.com"}}}}}},"pg":{"type":"object","properties":{"limit":{"type":"integer","description":"The maximum number of results returned."},"offset":{"type":"integer","description":"The number of results skipped."}}}}}}}}}}},"/scenarios/ai-agents/modules":{"post":{"tags":["Scenarios"],"summary":"Get AI agent module details for scenarios","description":"Retrieves local AI agent module and tool details for scenarios belonging to the specified team. The underlying query recursively walks each scenario's blueprint and is expensive, so requests are hard-capped at 100 scenarios.\n\nProvide `scenarioIds` in the request body to look up specific scenarios - all of them must belong to `teamId`, or the request fails with a 403. Omit `scenarioIds` to page through the team's own AI agent scenarios instead, using `pg[limit]`/`pg[offset]` (same scenarios and ordering as `GET /scenarios/ai-agents`); the response then also includes a `pg` object so you can request the next page. `pg` parameters are ignored when `scenarioIds` is provided.\n\nAgents nested as another agent's own tool are not included - only agents found directly in a scenario's flow (including inside routes, branches, and error handlers).","security":[{"token":["scenarios:read"]}],"parameters":[{"description":"The unique ID of the team whose scenarios folders will be retrieved.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"required":true},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"scenarioIds":{"type":"array","items":{"type":"integer"},"minItems":1,"maxItems":100,"description":"The scenario IDs to retrieve agent module details for. All must belong to `teamId`. Omit this field to page through the team's AI agent scenarios instead.","example":[42,43]}}},"examples":{"byScenarioIds":{"summary":"Look up specific scenarios","value":{"scenarioIds":[42,43]}},"pageThroughTeam":{"summary":"Page through all of the team's AI agent scenarios","value":{}}}}}},"responses":{"200":{"description":"Retrieved AI agent module details","content":{"application/json":{"schema":{"type":"object","properties":{"agentModules":{"type":"array","items":{"type":"object","properties":{"scenarioId":{"type":"integer","description":"The unique ID of the scenario the agent module belongs to.","example":42},"id":{"type":"integer","description":"The unique ID of the agent module within the scenario's blueprint.","example":3},"module":{"type":"string","description":"The app:module identifier of the agent module.","example":"ai-local-agent:RunLocalAIAgent"},"userLabel":{"type":"string","nullable":true,"description":"The user-defined label of the agent module, if set.","example":"Support Agent"},"tools":{"type":"array","description":"The tools available to the agent module.","items":{"type":"object","properties":{"moduleId":{"type":"integer","description":"The unique ID of the tool's module within the scenario's blueprint.","example":4},"module":{"type":"string","description":"The app:module identifier of the tool.","example":"knowledge:KnowledgeStandAlone"},"name":{"type":"string","description":"The display name of the tool.","example":"Product Docs"},"fileIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the knowledge files attached to the tool, present only for knowledge tools.","example":["5f8a1c2b-1234-4a5b-8c9d-0e1f2a3b4c5d"]}}}}}}},"pg":{"type":"object","description":"Present only when `scenarioIds` is omitted from the request body.","properties":{"limit":{"type":"integer","description":"The maximum number of scenarios processed."},"offset":{"type":"integer","description":"The number of scenarios skipped."}}}}},"examples":{"byScenarioIds":{"summary":"Response for a scenarioIds lookup","value":{"agentModules":[{"scenarioId":42,"id":3,"module":"ai-local-agent:RunLocalAIAgent","userLabel":"Support Agent","tools":[{"moduleId":4,"module":"knowledge:KnowledgeStandAlone","name":"Product Docs","fileIds":["5f8a1c2b-1234-4a5b-8c9d-0e1f2a3b4c5d"]}]}]}},"pageThroughTeam":{"summary":"Response when paging through the team","value":{"agentModules":[{"scenarioId":42,"id":3,"module":"ai-local-agent:RunLocalAIAgent","userLabel":"Support Agent","tools":[]}],"pg":{"limit":100,"offset":0}}}}}}},"400":{"description":"Invalid input - e.g. more than 100 scenarioIds, or pg[limit] greater than 100.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}},"example":{"message":"A maximum of 100 scenario IDs can be requested at once."}}}},"403":{"description":"One or more requested scenarioIds do not belong to teamId, or the caller lacks permission for the team.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}},"example":{"message":"One or more scenario IDs do not belong to this team."}}}}}}},"/scenarios-folders":{"get":{"tags":["Scenarios folders"],"summary":"List scenario folders","description":"Retrieves direct scenario folder children for a team or organization. Provide teamId or organizationId. If both are provided, teamId is used. Omit parentId to return top-level folders.","security":[{"token":["scenarios:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"description":"Unique ID of the Team.","example":1,"required":true},{"name":"organizationId","in":"query","description":"The unique ID of the organization whose scenario folders should be returned.","schema":{"type":"integer","minimum":1,"maximum":2147483647}},{"name":"parentId","in":"query","description":"The parent folder whose direct children should be returned. Omit to return top-level folders.","schema":{"type":"integer","minimum":1,"maximum":2147483647}},{"name":"childrenDepth","in":"query","description":"Set to `all` to return all descendants under `children`. By default, `children` includes only one direct child level.","schema":{"type":"string","enum":["all"]}},{"name":"cols[]","in":"query","description":"Specifies the group of values to return. For example, you may want to receive in response only the names and IDs of folders.","schema":{"type":"array","items":{"type":"string","enum":["id","name","path","parentId","position","scenariosTotal","scenariosSubtreeTotal","scenariosDeleted","scenariosDeletedSubtreeTotal","hasChildren","children"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenariosFolders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string","description":"Slash-separated folder path including this folder, for example `CRM/cleanup`."},"teamId":{"type":"integer","description":"The unique ID of the team that owns the folder. Returned when listing folders by organization."},"parentId":{"type":"integer","nullable":true},"position":{"type":"integer","nullable":true},"scenariosTotal":{"type":"integer","description":"Number of scenarios directly assigned to this folder."},"scenariosSubtreeTotal":{"type":"integer","description":"Number of scenarios assigned to this folder or any descendant folder."},"scenariosDeleted":{"type":"integer","description":"Number of deleted scenarios directly assigned to this folder. Available to admin callers."},"scenariosDeletedSubtreeTotal":{"type":"integer","description":"Number of deleted scenarios assigned to this folder or any descendant folder. Available to admin callers."},"hasChildren":{"type":"boolean","description":"Whether this folder has direct child folders. Use parentId to retrieve them."},"children":{"type":"array","description":"Direct child folders of this folder. Contains all descendants when childrenDepth is set to `all`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"},"teamId":{"type":"integer","description":"The unique ID of the team that owns the folder. Returned when listing folders by organization."},"parentId":{"type":"integer","nullable":true},"position":{"type":"integer","nullable":true},"scenariosTotal":{"type":"integer"},"scenariosSubtreeTotal":{"type":"integer"},"scenariosDeleted":{"type":"integer","description":"Number of deleted scenarios directly assigned to this folder. Available to admin callers."},"scenariosDeletedSubtreeTotal":{"type":"integer","description":"Number of deleted scenarios assigned to this folder or any descendant folder. Available to admin callers."},"hasChildren":{"type":"boolean","description":"Whether this folder has direct child folders. Use parentId to retrieve them."}}}}}}}}},"example":{"scenariosFolders":[{"id":1576,"name":"ALPHA","path":"ALPHA","parentId":null,"position":null,"scenariosTotal":10,"scenariosSubtreeTotal":10,"hasChildren":false,"children":[]}]}}}}}},"post":{"tags":["Scenarios folders"],"summary":"Create scenario folder","description":"Creates a new scenario folder with data passed in the request body. As the response, it returns all details of the created scenario folder.","security":[{"token":["scenarios:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the scenario folder. The name must be at most 100 characters long and does not need to be unique."},"teamId":{"type":"integer","minimum":1,"maximum":2147483647,"description":"The unique ID of the team in which the scenario folder will be created."},"parentId":{"type":"integer","minimum":1,"maximum":2147483647,"nullable":true,"description":"The unique ID of the parent scenario folder. Omit or pass null to create a top-level folder."}},"required":["name","teamId"]},"example":{"name":"ZULU","teamId":123,"parentId":null}}}},"responses":{"200":{"description":"Created a Folder","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioFolder":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string","description":"Slash-separated folder path including this folder, for example `CRM/cleanup`."},"teamId":{"type":"integer","description":"The unique ID of the team that owns the folder. Returned when listing folders by organization."},"parentId":{"type":"integer","nullable":true},"position":{"type":"integer","nullable":true},"scenariosTotal":{"type":"integer","description":"Number of scenarios directly assigned to this folder."},"scenariosSubtreeTotal":{"type":"integer","description":"Number of scenarios assigned to this folder or any descendant folder."},"scenariosDeleted":{"type":"integer","description":"Number of deleted scenarios directly assigned to this folder. Available to admin callers."},"scenariosDeletedSubtreeTotal":{"type":"integer","description":"Number of deleted scenarios assigned to this folder or any descendant folder. Available to admin callers."},"hasChildren":{"type":"boolean","description":"Whether this folder has direct child folders. Use parentId to retrieve them."},"children":{"type":"array","description":"Direct child folders of this folder. Contains all descendants when childrenDepth is set to `all`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"},"teamId":{"type":"integer","description":"The unique ID of the team that owns the folder. Returned when listing folders by organization."},"parentId":{"type":"integer","nullable":true},"position":{"type":"integer","nullable":true},"scenariosTotal":{"type":"integer"},"scenariosSubtreeTotal":{"type":"integer"},"scenariosDeleted":{"type":"integer","description":"Number of deleted scenarios directly assigned to this folder. Available to admin callers."},"scenariosDeletedSubtreeTotal":{"type":"integer","description":"Number of deleted scenarios assigned to this folder or any descendant folder. Available to admin callers."},"hasChildren":{"type":"boolean","description":"Whether this folder has direct child folders. Use parentId to retrieve them."}}}}}}}},"example":{"scenarioFolder":{"id":1576,"name":"ALPHA","path":"ALPHA","parentId":null,"position":null,"scenariosTotal":10,"scenariosSubtreeTotal":10,"hasChildren":false,"children":[]}}}}}}}},"/scenarios-folders/move-scenarios":{"post":{"tags":["Scenarios folders"],"summary":"Move scenarios to a folder","description":"Moves selected scenarios from the specified team into a target folder. Use `targetFolderId: null` to uncategorize them.","security":[{"token":["scenarios:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"integer","minimum":1,"maximum":2147483647,"description":"The team that owns all scenarios and the target folder."},"scenarioIds":{"type":"array","minItems":1,"maxItems":10000,"items":{"type":"integer","minimum":1,"maximum":2147483647},"description":"The scenario IDs to move."},"targetFolderId":{"type":"integer","minimum":1,"maximum":2147483647,"nullable":true,"description":"The target folder ID. Use null to uncategorize the scenarios."}},"required":["teamId","scenarioIds","targetFolderId"]},"example":{"teamId":123,"scenarioIds":[123,456],"targetFolderId":1576}}}},"responses":{"200":{"description":"Scenarios moved","content":{"application/json":{"schema":{"type":"object","properties":{"movedScenarioIds":{"type":"array","items":{"type":"integer"}},"targetFolderId":{"type":"integer","nullable":true}},"required":["movedScenarioIds","targetFolderId"]},"example":{"movedScenarioIds":[123,456],"targetFolderId":1576}}}}}}},"/scenarios-folders/reorder":{"post":{"tags":["Scenarios folders"],"summary":"Reorder scenario folders","description":"Sets manual positions for direct sibling folders within one parent. Omitted siblings have their position cleared and are listed alphabetically after positioned folders.","security":[{"token":["scenarios:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"teamId":{"type":"integer","minimum":1,"maximum":2147483647,"description":"The team that owns the sibling folder set."},"parentId":{"type":"integer","minimum":1,"maximum":2147483647,"nullable":true,"description":"The parent folder whose direct children are being reordered. Omit or pass null for top-level folders."},"folderIds":{"type":"array","minItems":1,"maxItems":999,"uniqueItems":true,"items":{"type":"integer","minimum":1,"maximum":2147483647},"description":"Folder IDs in the desired order. All folders must be direct siblings under parentId. Omitted sibling folders have their position cleared."}},"required":["teamId","folderIds"]},"example":{"teamId":123,"parentId":null,"folderIds":[1576,1577]}}}},"responses":{"200":{"description":"Scenario folders reordered","content":{"application/json":{"schema":{"type":"object","properties":{"reorderedFolderIds":{"type":"array","items":{"type":"integer"}},"parentId":{"type":"integer","nullable":true}},"required":["reorderedFolderIds","parentId"]},"example":{"reorderedFolderIds":[1576,1577],"parentId":null}}}}}}},"/scenarios-folders/{folderId}":{"patch":{"tags":["Scenarios folders"],"summary":"Update scenario folder","description":"Updates a scenario folder with a given ID by passing a new name, a new parent folder, or both in the request body. Use parentId null to move the folder to the top level. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated folder including properties that were not changed.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"folderId","in":"path","schema":{"type":"integer"},"description":"The unique ID of the scenario folder. It can be retrieved from the [List scenarios folders](/api-reference/scenarios-folders/get--scenarios-folders.md) endpoint.","example":1,"required":true},{"name":"cols[]","in":"query","description":"Specifies the group of values to return. For example, you may want to receive in response only the names and IDs of folders.","schema":{"type":"array","items":{"type":"string","enum":["id","name","path","parentId","position","scenariosTotal","scenariosSubtreeTotal","scenariosDeleted","scenariosDeletedSubtreeTotal","hasChildren","children"]}}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name for the updated scenario folder. The name must be at most 100 characters long and does not need to be unique."},"parentId":{"type":"integer","minimum":1,"maximum":2147483647,"nullable":true,"description":"The unique ID of the new parent scenario folder. Use null to move the folder to the top level."}}},"example":{"name":"BRAVO","parentId":null}}}},"responses":{"200":{"description":"Folder updated","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioFolder":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string","description":"Slash-separated folder path including this folder, for example `CRM/cleanup`."},"teamId":{"type":"integer","description":"The unique ID of the team that owns the folder. Returned when listing folders by organization."},"parentId":{"type":"integer","nullable":true},"position":{"type":"integer","nullable":true},"scenariosTotal":{"type":"integer","description":"Number of scenarios directly assigned to this folder."},"scenariosSubtreeTotal":{"type":"integer","description":"Number of scenarios assigned to this folder or any descendant folder."},"scenariosDeleted":{"type":"integer","description":"Number of deleted scenarios directly assigned to this folder. Available to admin callers."},"scenariosDeletedSubtreeTotal":{"type":"integer","description":"Number of deleted scenarios assigned to this folder or any descendant folder. Available to admin callers."},"hasChildren":{"type":"boolean","description":"Whether this folder has direct child folders. Use parentId to retrieve them."},"children":{"type":"array","description":"Direct child folders of this folder. Contains all descendants when childrenDepth is set to `all`.","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"},"teamId":{"type":"integer","description":"The unique ID of the team that owns the folder. Returned when listing folders by organization."},"parentId":{"type":"integer","nullable":true},"position":{"type":"integer","nullable":true},"scenariosTotal":{"type":"integer"},"scenariosSubtreeTotal":{"type":"integer"},"scenariosDeleted":{"type":"integer","description":"Number of deleted scenarios directly assigned to this folder. Available to admin callers."},"scenariosDeletedSubtreeTotal":{"type":"integer","description":"Number of deleted scenarios assigned to this folder or any descendant folder. Available to admin callers."},"hasChildren":{"type":"boolean","description":"Whether this folder has direct child folders. Use parentId to retrieve them."}}}}}}}},"example":{"scenarioFolder":{"id":1576,"name":"ALPHA","path":"ALPHA","parentId":null,"position":null,"scenariosTotal":10,"scenariosSubtreeTotal":10,"hasChildren":false,"children":[]}}}}}}},"delete":{"tags":["Scenarios folders"],"summary":"Delete scenario folder","description":"Deletes a scenario folder with a given ID and returns the ID in the response. Scenarios in the deleted folder and its subfolders are moved to the deleted folder's parent, or uncategorized when deleting a top-level folder. Descendant folders are deleted.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"folderId","in":"path","schema":{"type":"integer"},"description":"The unique ID of the scenario folder. It can be retrieved from the [List scenarios folders](/api-reference/scenarios-folders/get--scenarios-folders.md) endpoint.","example":1,"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioFolder":{"type":"integer"}}},"example":{"scenarioFolder":123}}}}}}},"/scenarios/{scenarioId}/custom-properties":{"get":{"tags":["Scenarios / Custom properties data"],"summary":"Get custom properties data","description":"Gets custom properties data of the specified scenario.","security":[{"token":["scenarios:read"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario.","example":22}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customProperties":{"type":"object"},"scenarioId":{"type":"number"}}},"example":{"customProperties":{"category":["notifications","routing"],"customId":45,"location":"London, UK","companyTeam":"Product","description":"This scenario handles notifications for the Product team in London.","highPriority":true,"performanceCheck":"2023-08-31T14:19:00.000Z"},"scenarioId":22}}}}}},"post":{"tags":["Scenarios / Custom properties data"],"summary":"Fill in custom properties data","description":"Fills in custom properties data for the specified scenario. The scenario has to have no custom properties data.\n\nThe data you fill in has to conform to the current custom scenario properties structure. You have to specify a value for every required item, otherwise you get an error.\n\nTo update existing data, use the following API calls:\n\n- [Update custom properties data](./patch--scenarios--scenarioid--custom-properties.md)\n- [Set custom properties data](./put--scenarios--scenarioid--custom-properties.md)\n","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario.","example":80}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"},"example":{"companyTeam":"marketing","customId":60,"performanceCheck":"2024-09-31T14:19:00.000Z","category":["eshop"],"highPriority":false,"location":"Chicago, US","description":"Scenario for the Marketing team to share information with other stakeholders."}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customProperties":{"type":"object"},"scenarioId":{"type":"number"}}},"example":{"customProperties":{"category":["eshop"],"customId":60,"location":"Chicago, US","companyTeam":"marketing","description":"Scenario for the Marketing team to share information with other stakeholders.","highPriority":false,"performanceCheck":"2024-10-01T14:19:00.000Z"},"scenarioId":80}}}}}},"patch":{"tags":["Scenarios / Custom properties data"],"summary":"Update custom properties data","description":"Updates custom properties data of the specified scenario. Make updates only the custom properties data you specify in the request body.\n\nThe custom property has to contain data already. The update data have to conform to the current custom scenario properties structure. If the initial value is empty, then the API call returns an error.\n\nTo fill in first values to the custom properties, use the API call to [fill in custom properties data](./post--scenarios--scenarioid--custom-properties.md).\n","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario.","example":80}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"},"examples":{"basic-example":{"summary":"Update item data","description":"Update custom property item data. Make updates only the data you specify in the request body.","value":{"customId":48,"location":"Wien, AUS"}},"options-example":{"summary":"Update options","description":"Update custom property item data from a list of options. If you specify a value that is not part of the list of available options, you get an error.","value":{"category":["marketing","engineering"]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customProperties":{"type":"object"},"scenarioId":{"type":"number"}}},"examples":{"basic-example":{"value":{"customProperties":{"category":["eshop","products"],"customId":48,"location":"Wien, AUS","companyTeam":"Product","description":"This scenario is handling notifications for the Product team in London.","highPriority":true,"performanceCheck":"2023-08-31T14:19:00.000Z"},"scenarioId":80}},"options-example":{"value":{"customProperties":{"category":["marketing","engineering"],"customId":46,"location":"London, UK","companyTeam":"Product","description":"This scenario is handling notifications for the Product team in London.","highPriority":true,"performanceCheck":"2023-08-31T14:19:00.000Z"},"scenarioId":80}}}}}}}},"put":{"tags":["Scenarios / Custom properties data"],"summary":"Set custom properties","description":"Sets custom properties data for the specified scenario. Make replaces the original data with the data you send in the request body.\n\nYou have to specify a value for every required custom properties structure item, otherwise you get an error.\n\nThe scenario has to have custom property data already. The new data set has to conform to the current custom scenario properties structure. If the initial data is empty, then the API call returns an error.\n\nTo fill in first values to the custom properties, use the API call to [fill in custom properties data](./post--scenarios--scenarioid--custom-properties.md).\n","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario.","example":80}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"},"example":{"companyTeam":"engineering","customId":50,"performanceCheck":"2024-08-31T14:19:00.000Z","category":["notifications","routing"],"highPriority":false,"location":"London, UK","description":"Scenario for the London engineering team"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customProperties":{"type":"object"},"scenarioId":{"type":"number"}}},"example":{"customProperties":{"category":["notifications","routing"],"customId":50,"location":"London, UK","companyTeam":"engineering","description":"Scenario for the London engineering team","highPriority":false,"performanceCheck":"2024-08-31T14:19:00.000Z"},"scenarioId":80}}}}}},"delete":{"tags":["Scenarios / Custom properties data"],"summary":"Delete custom properties data","description":"Deletes custom properties data.\nDeleting custom properties data is irreversible.\nUse the `confirmed` parameter to confirm deleting the data, otherwise you get an error and the data are not deleted.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"scenarioId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the scenario.","example":28},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/scenarios-shared":{"get":{"operationId":"getScenarioSharesList","tags":["Scenarios shared"],"summary":"List shared scenarios","description":"Returns a paginated list of shared scenarios for a specified organization or team.\nSupports filtering by title, scenario name, and folder ID.\n\n**Note**: Either `organizationId` or `teamId` must be provided, but not both.\n","security":[{"token":["scenarios-shared:read"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer","minimum":1},"description":"The ID of the organization. Mutually exclusive with `teamId`.","example":123},{"name":"teamId","in":"query","schema":{"type":"integer","minimum":1},"description":"The ID of the team. Mutually exclusive with `organizationId`.","example":456},{"name":"folderId","in":"query","schema":{"type":"integer","minimum":1},"description":"Filter results by folder ID.","example":789},{"name":"title","in":"query","schema":{"type":"string","minLength":1,"maxLength":255},"description":"Filter results by shared scenario title (case-insensitive partial match).","example":"My Workflow"},{"name":"scenarioName","in":"query","schema":{"type":"string","minLength":1,"maxLength":255},"description":"Filter results by the original scenario name (case-insensitive partial match).","example":"Data Processing"},{"name":"scenarioIds","in":"query","schema":{"type":"array","items":{"type":"integer","minimum":1}},"description":"Filter results by multiple scenario IDs. Accepts an array of scenario IDs to match.","example":[123,456,789],"style":"form","explode":true},{"name":"pg[limit]","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"description":"Number of results per page.","example":20},{"name":"pg[offset]","in":"query","schema":{"type":"integer","minimum":0,"default":0},"description":"Number of results to skip (for pagination).","example":0},{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["id","title","createdAt","updated"],"default":"id"},"description":"Column to sort results by.","example":"title"},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Sort direction (ascending or descending).","example":"asc"},{"name":"pg[returnTotalCount]","in":"query","schema":{"type":"boolean","default":false},"description":"Whether to return the total count of matching records.","example":false}],"responses":{"200":{"description":"Successful response with paginated list of shared scenarios","content":{"application/json":{"schema":{"type":"object","properties":{"scenariosShared":{"type":"array","description":"Array of shared scenarios","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the shared scenario","example":"abc123xyz"},"scenarioId":{"type":"integer","description":"ID of the original scenario","example":789},"title":{"type":"string","description":"Title of the shared scenario","example":"My Workflow"},"scenarioName":{"type":"string","description":"Name of the original scenario","example":"Data Processing"},"descriptionShort":{"type":"string","nullable":true,"description":"Short description of the shared scenario","example":"This workflow processes data from multiple sources"},"scenarioUsedPackages":{"type":"array","description":"List of packages/modules used in the scenario","items":{"type":"string"},"example":["http","json","google-sheets"]},"shareUrl":{"type":"string","description":"Public URL for accessing the shared scenario","example":"https://www.make.com/s/abc123xyz"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the shared scenario was created","example":"2024-01-15T10:30:00Z"},"updated":{"type":"string","format":"date-time","description":"Timestamp when the shared scenario was last updated","example":"2024-01-20T14:45:00Z"}}}},"pg":{"type":"object","description":"Pagination metadata","properties":{"limit":{"type":"integer","description":"Number of results per page","example":20},"offset":{"type":"integer","description":"Number of results skipped","example":0},"sortBy":{"type":"string","description":"Column used for sorting","example":"title"},"sortDir":{"type":"string","enum":["asc","desc"],"description":"Sort direction","example":"asc"},"returnTotalCount":{"type":"boolean","description":"Whether total count was requested","example":false},"totalCount":{"type":"integer","description":"Total count of matching records (only present if returnTotalCount is true)","example":150}}}}}}}},"400":{"description":"Bad request - invalid parameters (e.g., both organizationId and teamId provided, or neither)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Either organizationId or teamId must be provided, but not both"}}}}}},"401":{"description":"Unauthorized - missing or invalid authentication token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized"}}}}}},"403":{"description":"Forbidden - insufficient permissions for the specified organization or team","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Insufficient permissions"}}}}}}}}},"/scenarios-shared/{scenarioId}":{"get":{"tags":["Scenarios shared"],"summary":"List shared scenarios for scenario","description":"Returns all shares created for the specified scenario.","security":[{"token":["scenarios-shared:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"responses":{"200":{"description":"List of scenario shares","content":{"application/json":{"schema":{"type":"object","properties":{"scenariosShared":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"scenarioId":{"type":"integer"},"title":{"type":"string"},"titleOriginal":{"type":"string"},"descriptionShort":{"type":"string","nullable":true},"descriptionLong":{"type":"string","nullable":true},"thumbnailUrl":{"type":"string","nullable":true},"shareUrl":{"type":"string"},"shareUrlCardinal":{"type":"string"},"isEnabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time"}}}}}},"example":{"scenariosShared":[{"id":"a1B2c3D4e5F","scenarioId":112,"title":"My awesome automation","titleOriginal":"My awesome automation","descriptionShort":"Short description of the automation.","descriptionLong":"Detailed description of the automation.","thumbnailUrl":"https://cdn.example.com/abc123.jpg","shareUrl":"https://www.make.com/scenarios/shared/a1B2c3D4e5F","shareUrlCardinal":"https://cardinal.make.com/scenarios/shared/a1B2c3D4e5F","isEnabled":true,"createdAt":"2024-09-01T12:00:00.000Z","updated":"2024-09-02T08:30:00.000Z"}]}}}}}},"post":{"tags":["Scenarios shared"],"summary":"Create scenario share","description":"Creates a share of the specified scenario.","security":[{"token":["scenarios-shared:write","scenarios:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":40},"descriptionShort":{"type":"string","maxLength":260,"nullable":true},"descriptionLong":{"type":"string","maxLength":2000,"nullable":true},"isEnabled":{"type":"boolean","default":false}},"required":["title"]},"example":{"title":"My awesome automation","descriptionShort":"Short description of the automation.","descriptionLong":"Detailed description of the automation.","isEnabled":true}}}},"responses":{"200":{"description":"Shared scenario created","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioShared":{"type":"object","properties":{"id":{"type":"string"},"scenarioId":{"type":"integer"}}}}},"example":{"scenarioShared":{"id":"a1B2c3D4e5F","scenarioId":112}}}}}}}},"/scenarios-shared/{scenarioId}/{sharedScenarioId}":{"get":{"tags":["Scenarios shared"],"summary":"Get shared scenario","description":"Get shared scenario detail by ID.","security":[{"token":["scenarios-shared:read"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"sharedScenarioId","in":"path","schema":{"type":"string","minLength":11,"maxLength":11},"description":"Shared Scenario ID","example":"a1B2c3D4e5F","required":true}],"responses":{"200":{"description":"Shared scenario detail","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioShared":{"type":"object","properties":{"id":{"type":"string"},"scenarioId":{"type":"integer"},"authorId":{"type":"integer"},"isEnabled":{"type":"boolean"},"origin":{"type":"string","nullable":true},"titleOriginal":{"type":"string"},"title":{"type":"string"},"descriptionShort":{"type":"string","nullable":true},"descriptionLong":{"type":"string","nullable":true},"thumbnailUrl":{"type":"string","nullable":true},"shareUrl":{"type":"string"},"shareUrlCardinal":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time"}}}}},"example":{"scenarioShared":{"id":"a1B2c3D4e5F","scenarioId":112,"authorId":42,"isEnabled":true,"origin":"eu1.make.com","titleOriginal":"My awesome automation","title":"My awesome automation","descriptionShort":"Short description of the automation.","descriptionLong":"Detailed description of the automation.","thumbnailUrl":"https://cdn.example.com/abc123.jpg","shareUrl":"https://www.make.com/scenarios/shared/a1B2c3D4e5F","shareUrlCardinal":"https://cardinal.make.com/scenarios/shared/a1B2c3D4e5F","createdAt":"2024-09-01T12:00:00.000Z","updated":"2024-09-02T08:30:00.000Z"}}}}}}},"patch":{"tags":["Scenarios shared"],"summary":"Update shared scenario","description":"Updates a shared scenario by ID by passing new values in the request body. Any property that is not provided will be left unchanged.","security":[{"token":["scenarios-shared:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"sharedScenarioId","in":"path","schema":{"type":"string","minLength":11,"maxLength":11},"description":"Shared Scenario ID","example":"a1B2c3D4e5F","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":40},"descriptionShort":{"type":"string","maxLength":260,"nullable":true},"descriptionLong":{"type":"string","maxLength":2000,"nullable":true},"isEnabled":{"type":"boolean"}}},"example":{"title":"My awesome automation (updated)","descriptionShort":"Short description of the automation.","descriptionLong":"Detailed description of the automation.","isEnabled":false}}}},"responses":{"200":{"description":"Shared scenario updated","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioShared":{"type":"object","properties":{"id":{"type":"string"},"scenarioId":{"type":"integer"},"authorId":{"type":"integer"},"isEnabled":{"type":"boolean"},"origin":{"type":"string","nullable":true},"titleOriginal":{"type":"string"},"title":{"type":"string"},"descriptionShort":{"type":"string","nullable":true},"descriptionLong":{"type":"string","nullable":true},"thumbnailUrl":{"type":"string","nullable":true},"shareUrl":{"type":"string"},"shareUrlCardinal":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time"}}}}},"example":{"scenarioShared":{"id":"a1B2c3D4e5F","scenarioId":112,"authorId":42,"isEnabled":false,"origin":"eu1.make.com","titleOriginal":"My awesome automation","title":"My awesome automation (updated)","descriptionShort":"Short description of the automation.","descriptionLong":"Detailed description of the automation.","thumbnailUrl":"https://cdn.example.com/abc123.jpg","shareUrl":"https://www.make.com/scenarios/shared/a1B2c3D4e5F","shareUrlCardinal":"https://cardinal.make.com/scenarios/shared/a1B2c3D4e5F","createdAt":"2024-09-01T12:00:00.000Z","updated":"2024-09-03T10:00:00.000Z"}}}}}}},"delete":{"tags":["Scenarios shared"],"summary":"Delete shared scenario","description":"Deletes a shared scenario and returns the ID in the response.","security":[{"token":["scenarios-shared:write"]}],"parameters":[{"description":"The ID of the scenario. You can get the `scenarioId` with the [List scenarios](/api-reference/scenarios/get--scenarios.md) API call.","name":"scenarioId","in":"path","schema":{"type":"integer"},"example":112,"required":true},{"name":"sharedScenarioId","in":"path","schema":{"type":"string","minLength":11,"maxLength":11},"description":"Shared Scenario ID","example":"a1B2c3D4e5F","required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioShared":{"type":"object","properties":{"id":{"type":"string"}}}}},"example":{"scenarioShared":{"id":"a1B2c3D4e5F"}}}}}}}},"/scenario-labels":{"get":{"tags":["Scenario labels"],"summary":"List team labels","description":"Retrieves the colour-coded labels owned by a team, sorted by name (case-insensitive) ascending. Each label carries a `scenariosCount` — the number of non-trashed scenarios in the team that currently carry it.","security":[{"token":["scenarios:read"]}],"parameters":[{"name":"teamId","in":"query","required":true,"schema":{"type":"integer","minimum":1},"description":"The team (company) whose labels are listed.","example":112}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"labels":{"type":"array","items":{"allOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}},{"type":"object","properties":{"scenariosCount":{"type":"integer","minimum":0,"description":"Number of non-trashed scenarios in the team carrying this label."}}}]}}}},"example":{"labels":[{"id":42,"name":"Acme","colour":"brand","scope":"team","teamId":112,"description":"Acme client work","createdBy":7,"created":"2026-06-24T08:00:00.000Z","updated":null,"scenariosCount":3}]}}}}}},"post":{"tags":["Scenario labels"],"summary":"Create team label","description":"Creates a new team label. Requires `scenario edit` on the team. Label names are unique (case-insensitive) within a team.","security":[{"token":["scenarios:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["teamId","name","colour"],"properties":{"teamId":{"type":"integer","minimum":1},"name":{"type":"string","minLength":1,"maxLength":30},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"description":{"type":"string","maxLength":500}}},"example":{"teamId":112,"name":"Acme","colour":"brand","description":"Acme client work"}}}},"responses":{"200":{"description":"Label created","content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}}}},"409":{"description":"A team label with the same name already exists."}}}},"/scenario-labels/{labelId}":{"patch":{"tags":["Scenario labels"],"summary":"Update team label","description":"Renames, re-colours, or re-describes a team label. Requires `scenario edit` on the label's team. Every chip using the label updates at once.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"labelId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","minProperties":1,"properties":{"name":{"type":"string","minLength":1,"maxLength":30},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"description":{"type":"string","maxLength":500,"nullable":true}}},"example":{"name":"Needs review","colour":"warning"}}}},"responses":{"200":{"description":"Label updated","content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"colour":{"type":"string","description":"Fixed palette semantic token name; the UI maps each token to its hex value.","enum":["white","neutral","brand","info","success","warning","danger","pink"]},"scope":{"type":"string","description":"Label visibility tier exposed by the web API. Only team labels are supported in this version.","enum":["team"]},"teamId":{"type":"integer","description":"The team (company) that owns the label."},"description":{"type":"string","nullable":true},"createdBy":{"type":"integer","nullable":true},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time","nullable":true}}}}}}}},"401":{"description":"Authentication failed, the token lacks `scenarios:write`, or an organization-bound token cannot access the label."},"404":{"description":"For an unbound caller, the label does not exist or the caller cannot edit its team."},"409":{"description":"A team label with the same name already exists."}}},"delete":{"tags":["Scenario labels"],"summary":"Delete team label","description":"Deletes a team label. Requires `scenario edit` on the label's team. Removes the label from every scenario it was assigned to.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"labelId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Label deleted","content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"object","properties":{"id":{"type":"integer"}}}}}}}},"401":{"description":"Authentication failed, the token lacks `scenarios:write`, or an organization-bound token cannot access the label."},"404":{"description":"For an unbound caller, the label does not exist or the caller cannot edit its team."}}}},"/scenario-labels/assign-scenarios":{"post":{"tags":["Scenario labels"],"summary":"Assign labels to scenarios","description":"Assigns every accepted team label to every accepted scenario in one transaction. The raw request accepts up to 100 label IDs and 1,000 scenario IDs before duplicate IDs are removed. Missing, non-team, and different-team labels are rejected with the same `IM013` response. Missing and different-team scenarios are rejected with `IM002`; trashed scenarios in the requested team are rejected with `IM301`. Existing assignments are accepted no-ops. A processed request returns `200` even when every resource is rejected.","security":[{"token":["scenarios:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["teamId","labelIds","scenarioIds"],"properties":{"teamId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647,"description":"Team whose labels and scenarios are being mutated."},"labelIds":{"type":"array","minItems":1,"maxItems":100,"description":"Label IDs to process. The raw limit is enforced before duplicate IDs are removed. Each distinct ID is processed once.","items":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647}},"scenarioIds":{"type":"array","minItems":1,"maxItems":1000,"description":"Scenario IDs to process. The raw limit is enforced before duplicate IDs are removed. Each distinct ID is processed once. Together with the 100-label limit, this bounds one request to 100,000 label-scenario pairs.","items":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647}}}},"examples":{"mixedResults":{"summary":"Assign two labels while rejecting one label and one scenario","value":{"teamId":112,"labelIds":[42,43,44],"scenarioIds":[1201,1202]}}}}}},"responses":{"200":{"description":"The valid Cartesian subset was processed atomically; inspect the rejection arrays and summary.","content":{"application/json":{"schema":{"type":"object","required":["rejectedLabels","rejectedScenarios","summary"],"properties":{"rejectedLabels":{"type":"array","description":"Rejected distinct label IDs in first-occurrence request order.","items":{"type":"object","required":["labelId","code","detail"],"properties":{"labelId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647},"code":{"type":"string","description":"Always `IM013`; missing, non-team, and different-team labels are indistinguishable.","enum":["IM013"]},"detail":{"type":"string"}}}},"rejectedScenarios":{"type":"array","description":"Rejected distinct scenario IDs in first-occurrence request order.","items":{"type":"object","required":["scenarioId","code","detail"],"properties":{"scenarioId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647},"code":{"type":"string","description":"`IM002` when a scenario is missing or belongs to another team; `IM301` for a trashed scenario in the requested team.","enum":["IM002","IM301"]},"detail":{"type":"string"}}}},"summary":{"type":"object","required":["labels","scenarios","changed"],"properties":{"labels":{"type":"object","required":["total","accepted","rejected"],"properties":{"total":{"type":"integer","minimum":0,"description":"Number of distinct requested IDs after duplicate IDs are removed."},"accepted":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0}}},"scenarios":{"type":"object","required":["total","accepted","rejected"],"properties":{"total":{"type":"integer","minimum":0,"description":"Number of distinct requested IDs after duplicate IDs are removed."},"accepted":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0}}},"changed":{"type":"integer","minimum":0,"description":"Number of label-scenario relationships actually inserted or deleted."}}}}},"examples":{"mixedResults":{"summary":"One label and one scenario were rejected","value":{"rejectedLabels":[{"labelId":44,"code":"IM013","detail":"Label not found."}],"rejectedScenarios":[{"scenarioId":1202,"code":"IM002","detail":"Insufficient rights."}],"summary":{"labels":{"total":3,"accepted":2,"rejected":1},"scenarios":{"total":2,"accepted":1,"rejected":1},"changed":2}}}}}}},"400":{"description":"The body is invalid, or scenario labels are disabled (`IM903`).","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"invalidLabelIds":{"summary":"No label IDs were supplied","value":{"message":"Bad Request","code":"SC400","suberrors":[{"message":"Expected array length to be greater or equal to 1","name":"ValidationError"}]}}}}}},"401":{"description":"Authentication failed or the token lacks `scenarios:write` (`IM001`).","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"missingScope":{"summary":"The token lacks the required scope","value":{"message":"Access denied","code":"IM001","detail":"Required scope: scenarios:write"}}}}}},"403":{"description":"The caller cannot edit scenarios in the requested team, or cannot access the `/admin` route.","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"teamPermissionDenied":{"summary":"The caller lacks team-level scenario edit permission","value":{"message":"Insufficient rights.","code":"IM002","detail":"Insufficient rights."}},"adminAccessDenied":{"summary":"The caller cannot access the admin route","value":{"message":"Permission denied","code":"SC403","detail":"Forbidden."}}}}}}}}},"/scenario-labels/unassign-scenarios":{"post":{"tags":["Scenario labels"],"summary":"Remove labels from scenarios","description":"Removes every accepted team label from every accepted scenario in one transaction. The raw request accepts up to 100 label IDs and 1,000 scenario IDs before duplicate IDs are removed. Missing, non-team, and different-team labels are rejected with the same `IM013` response. Missing and different-team scenarios are rejected with `IM002`; trashed scenarios in the requested team are rejected with `IM301`. Absent assignments are accepted no-ops. A processed request returns `200` even when every resource is rejected.","security":[{"token":["scenarios:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["teamId","labelIds","scenarioIds"],"properties":{"teamId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647,"description":"Team whose labels and scenarios are being mutated."},"labelIds":{"type":"array","minItems":1,"maxItems":100,"description":"Label IDs to process. The raw limit is enforced before duplicate IDs are removed. Each distinct ID is processed once.","items":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647}},"scenarioIds":{"type":"array","minItems":1,"maxItems":1000,"description":"Scenario IDs to process. The raw limit is enforced before duplicate IDs are removed. Each distinct ID is processed once. Together with the 100-label limit, this bounds one request to 100,000 label-scenario pairs.","items":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647}}}},"examples":{"mixedResults":{"summary":"Remove two labels while rejecting one label and one scenario","value":{"teamId":112,"labelIds":[42,43,44],"scenarioIds":[1201,1202]}}}}}},"responses":{"200":{"description":"The valid Cartesian subset was processed atomically; inspect the rejection arrays and summary.","content":{"application/json":{"schema":{"type":"object","required":["rejectedLabels","rejectedScenarios","summary"],"properties":{"rejectedLabels":{"type":"array","description":"Rejected distinct label IDs in first-occurrence request order.","items":{"type":"object","required":["labelId","code","detail"],"properties":{"labelId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647},"code":{"type":"string","description":"Always `IM013`; missing, non-team, and different-team labels are indistinguishable.","enum":["IM013"]},"detail":{"type":"string"}}}},"rejectedScenarios":{"type":"array","description":"Rejected distinct scenario IDs in first-occurrence request order.","items":{"type":"object","required":["scenarioId","code","detail"],"properties":{"scenarioId":{"type":"integer","format":"int32","minimum":1,"maximum":2147483647},"code":{"type":"string","description":"`IM002` when a scenario is missing or belongs to another team; `IM301` for a trashed scenario in the requested team.","enum":["IM002","IM301"]},"detail":{"type":"string"}}}},"summary":{"type":"object","required":["labels","scenarios","changed"],"properties":{"labels":{"type":"object","required":["total","accepted","rejected"],"properties":{"total":{"type":"integer","minimum":0,"description":"Number of distinct requested IDs after duplicate IDs are removed."},"accepted":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0}}},"scenarios":{"type":"object","required":["total","accepted","rejected"],"properties":{"total":{"type":"integer","minimum":0,"description":"Number of distinct requested IDs after duplicate IDs are removed."},"accepted":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0}}},"changed":{"type":"integer","minimum":0,"description":"Number of label-scenario relationships actually inserted or deleted."}}}}},"examples":{"mixedResults":{"summary":"One label and one scenario were rejected","value":{"rejectedLabels":[{"labelId":44,"code":"IM013","detail":"Label not found."}],"rejectedScenarios":[{"scenarioId":1202,"code":"IM002","detail":"Insufficient rights."}],"summary":{"labels":{"total":3,"accepted":2,"rejected":1},"scenarios":{"total":2,"accepted":1,"rejected":1},"changed":2}}}}}}},"400":{"description":"The body is invalid, or scenario labels are disabled (`IM903`).","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"invalidScenarioIds":{"summary":"No scenario IDs were supplied","value":{"message":"Bad Request","code":"SC400","suberrors":[{"message":"Expected array length to be greater or equal to 1","name":"ValidationError"}]}}}}}},"401":{"description":"Authentication failed or the token lacks `scenarios:write` (`IM001`).","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"missingScope":{"summary":"The token lacks the required scope","value":{"message":"Access denied","code":"IM001","detail":"Required scope: scenarios:write"}}}}}},"403":{"description":"The caller cannot edit scenarios in the requested team, or cannot access the `/admin` route.","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Localized summary for the error code."},"code":{"type":"string","description":"Stable Make API error code."},"detail":{"type":"string","description":"Request-specific detail when the error safely exposes one."},"suberrors":{"type":"array","description":"Individual validation failures, when request validation reports them.","items":{"type":"object","required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"}}}}}},"examples":{"teamPermissionDenied":{"summary":"The caller lacks team-level scenario edit permission","value":{"message":"Insufficient rights.","code":"IM002","detail":"Insufficient rights."}},"adminAccessDenied":{"summary":"The caller cannot access the admin route","value":{"message":"Permission denied","code":"SC403","detail":"Forbidden."}}}}}}}}},"/scenario-labels/{labelId}/scenarios/{scenarioId}":{"post":{"tags":["Scenario labels"],"summary":"Assign label to scenario","description":"Assigns a team label to a single scenario. A team label may only be applied to scenarios in that same team. Idempotent.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"labelId","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"scenarioId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Label assigned","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioLabel":{"type":"object","properties":{"labelId":{"type":"integer"},"scenarioId":{"type":"integer"}}}}}}}},"401":{"description":"Authentication failed, the token lacks `scenarios:write`, or an organization-bound token cannot access the label."},"403":{"description":"Insufficient rights — the user lacks scenario-edit permission, the scenario does not exist or is not accessible, or a label visible to the caller belongs to a different team than the scenario."},"404":{"description":"For an unbound caller, the label does not exist or the caller cannot edit its team."}}},"delete":{"tags":["Scenario labels"],"summary":"Remove label from scenario","description":"Removes a team label from a single scenario. Idempotent.","security":[{"token":["scenarios:write"]}],"parameters":[{"name":"labelId","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"scenarioId","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Label removed","content":{"application/json":{"schema":{"type":"object","properties":{"scenarioLabel":{"type":"object","properties":{"labelId":{"type":"integer"},"scenarioId":{"type":"integer"}}}}}}}},"401":{"description":"Authentication failed, the token lacks `scenarios:write`, or an organization-bound token cannot access the label."},"403":{"description":"Insufficient rights — the user lacks scenario-edit permission, the scenario does not exist or is not accessible, or a label visible to the caller belongs to a different team than the scenario."},"404":{"description":"For an unbound caller, the label does not exist or the caller cannot edit its team."}}}},"/sdk/apps":{"get":{"tags":["SDK Apps"],"summary":"List Apps","description":"Retrieves a collection of all apps available to the authenticated user.","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"opensource","in":"query","schema":{"type":"boolean"},"description":"If set to `true`, this parameter returns apps available to all users. If set to `false`, it retrieves the apps available to the authenticated user."},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["name","label","description","version","versionFull","beta","theme","public","modules","approved","inReview","changes","opensource","origin"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the names of the available apps.","example":"name"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"apps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"version":{"type":"integer"},"versionFull":{"type":"string"},"beta":{"type":"boolean"},"description":{"type":"string"},"theme":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"in_review":{"type":"boolean"},"modules":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"type":{"type":"integer"},"public":{"type":"boolean"}}}},"opensource":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"table":{"type":"string"},"name":{"type":"string"},"column":{"type":"string"}}}}}}}}},"examples":{"list":{"summary":"List","value":{"apps":[{"name":"custom-app-1","label":"Ding","version":1,"beta":true},{"name":"model","label":"MODEL","version":1,"beta":false},{"name":"postman-test-app-1","label":"Postman Test App","version":1,"beta":true},{"name":"postman-test-app-2-1","label":"Postman Test App","version":1,"beta":true},{"name":"postman-test-app-3-1","label":"Postman Test App","version":1,"beta":true},{"name":"postman-test-app-4-1","label":"Postman Test App","version":1,"beta":true},{"name":"postman-test-app-5-1","label":"Postman Test App","version":1,"beta":true},{"name":"testovaci-lokalni-appka-1","label":"Testovací Lokální Appka","version":1,"beta":false}]}}}}}}}},"post":{"tags":["SDK Apps"],"summary":"Create App","description":"Creates a new app with data passed in the request body. In the response, it returns all details of the created app.","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"version":{"type":"integer"},"beta":{"type":"boolean"},"theme":{"type":"string","format":"color"},"language":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"global":{"type":"boolean"},"countries":{"type":"array","items":{}},"created":{"type":"string","format":"date-time"},"manifestVersion":{"type":"integer"}}}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"version":{"type":"integer"},"theme":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"}}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}":{"get":{"tags":["SDK Apps"],"summary":"Get App","security":[{"token":["sdk-apps:read"]}],"description":"","parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["name","label","description","theme","version","versionFull","beta","base","docs","language","public","approved","opensource","global","countries","changes","created","compile","compiledName","compilationError","inReview","manifestVersion","inviteToken","groups","installSpec","install","ipmRepo","flags","ipmTags","origin"]}},"description":"Specifies the group of values to return."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"version":{"type":"integer"},"beta":{"type":"boolean"},"theme":{"type":"string","format":"color"},"language":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"global":{"type":"boolean"},"countries":{"type":"array","items":{}},"created":{"type":"string","format":"date-time"},"manifestVersion":{"type":"integer"}}}}},"examples":{"get-app":{"summary":"Get App","value":{"app":{"name":"postman-test-app-1","label":"Postman Test App","description":"This is a testing app from Postman","version":1,"versionFull":"1.0.0","beta":true,"theme":"#ff00ff","language":"en","public":false,"approved":false,"opensource":false,"global":true,"countries":[],"created":"2019-12-18T11:55:31.655Z","manifestVersion":2,"changes":[],"compile":false,"compiledName":null,"compilationError":null,"inReview":false,"inviteToken":"token","ipmRepo":"https://ipm.make.com","origin":"eu2.make.com"}}}}}}}}},"patch":{"tags":["SDK Apps"],"summary":"Patch App","security":[{"token":["sdk-apps:write"]}],"description":"","requestBody":{"content":{"application/json":{"schema":{"type":"object"},"example":{"audience":"countries","description":"Hey there, Charlie!","countries":["us","uk","cz"],"label":"Multiverse","theme":"#AABBCC","language":"en"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"version":{"type":"integer"},"theme":{"type":"string","format":"color"},"public":{"type":"boolean"},"approved":{"type":"boolean"}}}}},"examples":{"patch-app":{"summary":"Patch App","value":{"app":{"name":"beta-13-3","label":"Multiverse","description":"Hey there, Charlie!","version":1,"theme":"#aabbcc","public":false,"approved":false}}}}}}}}},"delete":{"tags":["SDK Apps"],"summary":"Delete App","security":[{"token":["sdk-apps:write"]}],"description":"","parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"string"}}},"examples":{"delete-app":{"summary":"Delete App","value":{"app":"postman-test-app-1"}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/clone":{"post":{"tags":["SDK Apps"],"summary":"Clone App","security":[{"token":["sdk-apps:read"]}],"description":"","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"newName":{"type":"string"},"newVersion":{"type":"integer"}}},"example":{"newName":"beta-1","newVersion":2}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"version":{"type":"integer"},"beta":{"type":"boolean"},"theme":{"type":"string","format":"color"},"language":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"global":{"type":"boolean"},"countries":{"type":"array","items":{}},"created":{"type":"string","format":"date-time"},"manifestVersion":{"type":"integer"}}}}},"examples":{"clone-app":{"summary":"Clone App","value":{"app":{"name":"postman-test-app-1","label":"Postman Test App","description":"This is a testing app from Postman","version":1,"beta":true,"theme":"#ff00ff","language":"en","public":false,"approved":false,"global":true,"countries":null,"created":"2019-12-18T11:55:31.655Z","manifestVersion":2}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/clone-major":{"post":{"tags":["SDK Apps"],"summary":"Clone App Major Version","security":[{"token":["sdk-apps:write"]}],"description":"Clones the app to the next major version with the same app name. Requires the \"allow_apps\" feature flag to be enabled.","parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"app":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"version":{"type":"integer"},"beta":{"type":"boolean"},"theme":{"type":"string","format":"color"},"language":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"global":{"type":"boolean"},"countries":{"type":"array","items":{}},"created":{"type":"string","format":"date-time"},"manifestVersion":{"type":"integer"}}}}},"examples":{"clone-app-major":{"summary":"Clone App Major Version","value":{"app":{"name":"postman-test-app-1","label":"Postman Test App","version":2,"theme":"#ff00ff","public":false,"approved":false}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/review":{"get":{"tags":["SDK Apps"],"summary":"Get App Review","security":[{"token":["sdk-apps:read"]}],"description":"","parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"review":{"type":"object","properties":{"contactName":{"type":"string"},"contactEmail":{"type":"string","format":"email"},"reviewerName":{"type":"string"},"reviewerEmail":{"type":"string","format":"email"},"codeStatus":{"type":"string"},"testStatus":{"type":"string"},"docsStatus":{"type":"string"}}}}},"examples":{"get-app-review":{"summary":"Get App Review","value":{"review":{"contactName":"admin","contactEmail":"admin@make.cloud","reviewerName":null,"reviewerEmail":null,"codeStatus":null,"testStatus":null,"docsStatus":null}}}}}}}}},"post":{"tags":["SDK Apps"],"summary":"Request Review","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"all","in":"query","schema":{"type":"boolean"},"example":"true"},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/json"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"requested":{"type":"boolean"}}},"examples":{"request-review":{"summary":"Request Review","value":{"requested":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/review/form":{"put":{"tags":["SDK Apps"],"summary":"Submit App Review Form","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"testingScenarios":{"type":"object"}}},"example":{"testingScenarios":{"hohoho":"https://www.santa.com"}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"form":{"type":"object","properties":{"testingScenarios":{"type":"object","properties":{"hohoho":{"type":"string","format":"url"}}}}}}},"examples":{"submit-app-review-form":{"summary":"Submit App Review Form","value":{"form":{"testingScenarios":{"hohoho":"https://www.santa.com"}}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/events-log":{"get":{"tags":["SDK Apps"],"summary":"Get App Events Log","security":[{"token":["sdk-apps:read"]}],"description":"","parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","appName","appVersion","message","detail","authorId","createdAt"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"appName":{"type":"string"},"appVersion":{"type":"integer"},"message":{"type":"string"},"detail":{"type":"object"},"authorId":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"}}}}}},"examples":{"get-app-events-log":{"summary":"Get App Events Log","value":{"events":[{"id":2,"appName":"webhook-zmetek","appVersion":1,"message":"Approval requested.","detail":{},"authorId":1,"createdAt":"2021-03-01T13:07:20.852Z"},{"id":1,"appName":"webhook-zmetek","appVersion":1,"message":"App has been published.","detail":{},"authorId":1,"createdAt":"2021-03-01T12:36:52.837Z"}]}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/common":{"get":{"tags":["SDK Apps"],"summary":"Get App Common","description":"Get app client id and client secret.","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"description":"The numeric version of the app.","required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"description":"The numeric version of the app.","required":true,"example":1}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"examples":{"default":{"summary":"Get App Common","value":{"clientId":123456,"clientSecret":"secret"}}}}}}}},"put":{"tags":["SDK Apps"],"summary":"Set app common data","description":"Sets the common data for the app based on the parameters passed in the request body. In the response, it returns all details of common data. Common data usually contain sensitive information like API keys or API secrets and these details are shared across all modules.","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"The JSON object containing the common data."},"example":{"clientId":123456,"clientSecret":"secret"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"description":"The name of the app.","required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"description":"The app version.","required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"default":{"summary":"Set App Common","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/readme":{"get":{"tags":["SDK Apps"],"summary":"Get App Docs","security":[{"token":["sdk-apps:read"]}],"description":"","parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"all","in":"query","schema":{"type":"boolean"},"example":"true"}],"responses":{"200":{"description":"Successful response","content":{"text/markdown":{"schema":{"type":"string"},"examples":{"get-app-docs":{"summary":"Get App Docs","value":"# Hey There"}}}}}}},"put":{"tags":["SDK Apps"],"summary":"Set App Docs","security":[{"token":["sdk-apps:write"]}],"description":"","requestBody":{"content":{"text/markdown":{"schema":{"type":"string","example":"I see you."}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"all","in":"query","schema":{"type":"boolean"},"example":"true"},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"text/markdown"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-app-docs":{"summary":"Set App Docs","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/base":{"post":{"tags":["SDK Apps"],"summary":"Set App Base","security":[{"token":["sdk-apps:write"]}],"description":"Set app base configuration.\n","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}}}]}},"application/jsonc":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}}}]}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/jsonc"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object"}}},"examples":{"set-app-base":{"summary":"Set App Base","value":{"change":{}}}}}}}}},"patch":{"tags":["SDK Apps"],"summary":"Patch App Base","security":[{"token":["sdk-apps:write"]}],"description":"Patch app base configuration.\n","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}}}]}},"application/jsonc":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}}}}}]}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/jsonc"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object"}}},"examples":{"patch-app-base":{"summary":"Patch App Base","value":{"change":{}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/groups":{"put":{"tags":["SDK Apps"],"summary":"Set App Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: base, groups, install, installSpec<br />\n","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"modules":{"type":"array","items":{"type":"string"}}},"required":["label","modules"]}}},"application/jsonc":{"schema":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"modules":{"type":"array","items":{"type":"string"}}},"required":["label","modules"]}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object"}}},"examples":{"set-app-section":{"summary":"Set App Section","value":{"change":{}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/install":{"put":{"tags":["SDK Apps"],"summary":"Set App Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: base, groups, install, installSpec<br />\n","requestBody":{"content":{"application/json":{"schema":{}},"application/jsonc":{"schema":{}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object"}}},"examples":{"set-app-section":{"summary":"Set App Section","value":{"change":{}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/{SDK_appVisibility}":{"post":{"tags":["SDK Apps"],"summary":"Set App Visibility","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"SDK_appVisibility","in":"path","schema":{"type":"string","enum":["public","private"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"public":{"type":"boolean"},"inviteToken":{"type":"string"}}},"examples":{"set-app-visibility":{"summary":"Set App Visibility","value":{"public":true,"inviteToken":"token"}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/opensource":{"post":{"tags":["SDK Apps"],"summary":"Set App Opensource","security":[{"token":["sdk-apps:write"]}],"description":"beta, stable<br />\n","requestBody":{"content":{}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"text/plain"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-app-opensource":{"summary":"Set App Opensource","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/closedsource":{"post":{"tags":["SDK Apps"],"summary":"Set App ClosedSource","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-app-closedsource":{"summary":"Set App ClosedSource","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/changes/{SDK_changeId}":{"get":{"tags":["SDK Apps"],"summary":"Get Change","security":[{"token":["sdk-apps:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object","properties":{"id":{"type":"integer"},"group":{"type":"string"},"code":{"type":"string"},"oldValue":{"type":"string"},"newValue":{"type":"string"}}}}},"examples":{"getChange":{"value":{"change":{"id":5,"group":"text","code":"text","oldValue":"text","newValue":"text"}}}}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"SDK_changeId","in":"path","schema":{"type":"integer"},"required":true}]}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/commit":{"post":{"tags":["SDK Apps"],"summary":"Commit Changes","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"notify":{"type":"boolean"},"changeIds":{"type":"array","items":{"type":"integer"}}}},"example":{"message":"Just a small tweak","notify":false,"changeIds":[1,2]}}}},"responses":{"200":{"description":"Successful response","content":{"text/plain":{"schema":{"type":"boolean"},"example":true}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/json"}]}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/rollback":{"post":{"tags":["SDK Apps"],"summary":"Rollback Changes","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"changeIds":{"type":"array","items":{"type":"integer"}}}},"example":{"changeIds":[1,2]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"rolledBack":{"type":"boolean"}}},"examples":{"rollback-changes":{"summary":"Rollback Changes","value":{"rolledBack":true}}}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/json"}]}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/icon/{SDK_appIconSize}":{"get":{"tags":["SDK Apps"],"summary":"Get App Logo","security":[{"token":["sdk-apps:read"]}],"responses":{"200":{"description":"Successful response","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true},{"name":"SDK_appIconSize","in":"path","schema":{"type":"integer"},"required":true}]}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/icon":{"put":{"tags":["SDK Apps"],"summary":"Set App Logo","security":[{"token":["sdk-apps:write"]}],"requestBody":{"description":"The PNG image to upload.","required":true,"content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-app-icon":{"summary":"Set App Logo","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/uninstall":{"post":{"tags":["SDK Apps"],"summary":"Uninstall App from Organization","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"integer"}}},"example":{"organizationId":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"appVersion":{"type":"integer"},"organizationId":{"type":"integer"},"installedAt":{"type":"string","format":"date-time"},"userId":{"type":"string"},"theme":{"type":"string"}}}}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"integer"},"required":true}]}},"/sdk/apps/invites/{SDK_appInviteToken}":{"get":{"tags":["SDK Apps / Invites"],"summary":"Get App Invite","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appInviteToken","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appInvite":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"theme":{"type":"string","format":"color"},"created":{"type":"string","format":"date-time"},"access":{"type":"boolean"},"manifestBasic":{"type":"object","properties":{"icon":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"theme":{"type":"string","format":"color"},"groups":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"modules":{"type":"array","items":{"type":"string"}}}}},"public":{"type":"boolean"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"responder":{"type":"boolean"},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}}},"version":{"type":"string"},"searches":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}}},"triggers":{"type":"array","items":{"type":"object","properties":{"acid":{"type":"boolean"},"name":{"type":"string"},"label":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"listener":{"type":"boolean"},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}}},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}},"language":{"type":"string"},"installable":{"type":"array","items":{"type":"integer"}}}}}},"examples":{"get-app-invite":{"summary":"Get App Invite","value":{"appInvite":{"name":"invite-example","label":"Example","theme":"#2f8cbb","created":"2021-01-06T12:31:47.261Z","access":true,"manifestBasic":{"icon":"/img/apps/invite-example.png","name":"app#invite-example","label":"Example","theme":"#2f8cbb","groups":[{"label":"Objects","modules":["watchObjects","searchObjects","createObject","deleteObject"]},{"label":"Notifications","modules":["watchNotifications","resolveNotification"]},{"label":"Other","modules":["makeAnAPICall","makeGQLAPICall"]}],"public":true,"actions":[{"name":"makeAnAPICall","label":"Make an API Call","public":true,"approved":false,"responder":false,"description":"Performs an arbitrary authorized API request."},{"name":"createObject","label":"Create Object","public":true,"approved":false,"responder":false,"description":"Creates a new Object."},{"name":"deleteObject","label":"Delete Object","public":true,"approved":false,"responder":false,"description":"Deletes the given Object."},{"name":"resolveNotification","label":"Resolves a Notification","public":true,"approved":false,"responder":true,"description":"Responds to the Notification."},{"name":"makeGQLAPICall","label":"Make a GraphQL Call","public":true,"approved":false,"responder":false,"description":"Performs arbitrary GraphQL Query."}],"version":"1.0.0","searches":[{"name":"searchObjects","label":"Search Objects","public":true,"approved":false,"description":"Searches for Objects."}],"triggers":[{"acid":true,"name":"watchObjects","label":"Watch Objects","public":true,"approved":false,"listener":false,"description":"Triggers when a new Object is created."},{"acid":true,"name":"watchNotifications","label":"Watch Notifications","public":true,"approved":false,"listener":true,"description":"Triggers when a new Notification is received."}],"description":null},"language":"en","installable":[]}}}}}}}}},"post":{"tags":["SDK Apps / Invites"],"summary":"Accept App Invite","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"organizationIds":{"type":"array","items":{"type":"integer"}}}},"example":{"organizationIds":[13]}}}},"parameters":[{"name":"SDK_appInviteToken","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appInvite":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"theme":{"type":"string","format":"color"},"created":{"type":"string","format":"date-time"},"access":{"type":"boolean"},"manifestBasic":{"type":"object","properties":{"icon":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"theme":{"type":"string","format":"color"},"groups":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"modules":{"type":"array","items":{"type":"string"}}}}},"public":{"type":"boolean"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"responder":{"type":"boolean"},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}}},"version":{"type":"string"},"searches":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}}},"triggers":{"type":"array","items":{"type":"object","properties":{"acid":{"type":"boolean"},"name":{"type":"string"},"label":{"type":"string"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"listener":{"type":"boolean"},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}}},"description":{"type":"string"},"supportsAgent":{"type":"boolean"}}},"language":{"type":"string"},"version":{"type":"integer"}}}}},"examples":{"accept-app-invite":{"summary":"Accept App Invite","value":{"appInvite":{"name":"custom-app-1","label":"Update App 2","theme":"#caffee","created":"2019-12-18T11:31:25.803Z","access":true,"manifestBasic":{"icon":"/img/apps/custom-app-1.png","name":"app#custom-app-1","label":"Update App 2","theme":"#caffee","groups":[{"label":"Other","modules":["postmanModule5","getEntity","getEntity2","getEntity3"]}],"public":true,"actions":[{"public":true,"approved":true,"name":"name","label":"label","description":"description","responder":false,"supportsAgent":false}],"version":"1.0.0","searches":[{"public":true,"approved":true,"name":"name","label":"label","description":"description","supportsAgent":false}],"triggers":[{"public":true,"approved":false,"name":"name","label":"label","description":"description","acid":false,"listener":true,"supportsAgent":true}],"description":"This is app.","supportsAgent":true},"language":"en","version":1}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules":{"post":{"tags":["SDK Apps / Modules"],"summary":"Create Module","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"typeId":{"type":"integer","enum":[1,4,9,10,11,12],"default":4,"description":"Module type id. Allowed values:\n - 1 = TRIGGER (Trigger - polling) Use if you wish to watch for any changes in your app/service. Examples are Watch a New Book, which will be triggered whenever a new book has been added to the library.\n - 4 = ACTION Use if the API endpoint returns a single response. Examples are Create a book, Delete a book or Get a Book.\n - 9 = SEARCH Use if the API endpoint returns multiple items. An example is List Books that will find specific books according to search criteria.\n - 10 = CONVERGER (Instant Trigger / webhook) Use if the API endpoint has a webhook available (dedicated or shared). Example is Watch a New Event.\n - 11 = HITL (Responder) Use if you need to send a processed data back to a webhook.\n - 12 = RETURNER (Universal) Use if you want to enable users to perform an arbitrary API call to the service. Examples are Make an API Call and Execute a GraphQL Query.\n"},"label":{"type":"string"},"description":{"type":"string"},"moduleInitMode":{"type":"string","enum":["blank","example","module"],"default":"blank","description":"Module init mode:\n * `blank` -  Creates a new blank module (code is empty).\n * `example` - Creates a module from a `model` app (which contains the example codes).\n * `module` - Creates module from existing user's module.\n"},"moduleInitSource":{"type":"string","description":"Required when `moduleInitMode` is `module`. Specifies the name of the source module to clone."},"connection":{"type":"string","description":"The name of the connection to use.","nullable":true},"webhook":{"type":"string","description":"The name of the webhook to use.","nullable":true},"crud":{"type":"string","description":"The CRUD operation type.","nullable":true}},"required":["name","typeId"]},"example":{"name":"getEntity","typeId":4,"label":"Get Entity","description":"Retrieves the given entity.","moduleInitMode":"blank","connection":null,"webhook":null,"crud":null}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appModule":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"typeId":{"type":"integer"},"crud":{"type":"string"},"connection":{"type":"string"},"webhook":{"type":"string"}}}}},"examples":{"create-module":{"summary":"Create Module","value":{"appModule":{"name":"getEntity","label":"Get Entity","description":"Retrieves the given entity.","typeId":4,"crud":null,"connection":null,"webhook":null}}}}}}}}},"get":{"tags":["SDK Apps / Modules"],"summary":"List App Modules","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appModules":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"typeId":{"type":"integer"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"archived":{"type":"boolean"},"crud":{"type":"string"}}}}}},"examples":{"list-app-modules":{"summary":"List App Modules","value":{"appModules":[{"name":"postmanModule5","label":"BezVisKam","typeId":1,"public":false,"approved":false,"archived":false,"description":"Bleeeeee","crud":"read"},{"name":"getEntity","label":"Get Entity","typeId":4,"public":false,"approved":false,"archived":false,"description":"Retrieves the given entity.","crud":null}]}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}":{"get":{"tags":["SDK Apps / Modules"],"summary":"Get Module","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appModule":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"typeId":{"type":"integer"},"public":{"type":"boolean"},"approved":{"type":"boolean"},"archived":{"type":"boolean"},"crud":{"type":"string"},"connection":{"type":"string"},"altConnection":{"type":"string"},"webhook":{"type":"string"}}}}},"examples":{"get-module":{"summary":"Get Module","value":{"appModule":{"name":"getEntity","label":"Get Entity","description":"Retrieves the given entity.","typeId":4,"public":false,"approved":false,"archived":false,"crud":null,"connection":null,"altConnection":null,"webhook":null}}}}}}}}},"patch":{"tags":["SDK Apps / Modules"],"summary":"Patch Module","security":[{"token":["sdk-apps:write"]}],"description":"Updates a module.<br />\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"},"description":{"type":"string"},"connection":{"type":"string"}}},"example":{"label":"Get Order","description":"Retrieves the order by its id.","connection":"charlie-1"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appModule":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"typeId":{"type":"integer"},"crud":{"type":"string"},"connection":{"type":"string"},"altConnection":{"type":"string"},"webhook":{"type":"string"}}}}},"examples":{"patch-module":{"summary":"Patch Module","value":{"appModule":{"name":"getEntity","label":"Get Order","description":"Retrieves the order by its id.","typeId":4,"crud":null,"connection":"charlie-1","altConnection":null,"webhook":null}}}}}}}}},"delete":{"tags":["SDK Apps / Modules"],"summary":"Delete Module","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appModule":{"type":"string"}}},"examples":{"delete-module":{"summary":"Delete Module","value":{"appModule":"getEntity"}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/api":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, epoch, parameters, expect, interface, samples, scope<br />\n","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}},"verification":{"additionalProperties":false,"type":"object","properties":{"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}},"verification":{"additionalProperties":false,"type":"object","properties":{"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}}}}}]}},"application/jsonc":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}},"verification":{"additionalProperties":false,"type":"object","properties":{"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}}}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"baseUrl":{"minLength":1,"maxLength":512,"description":"Base URL for endpoints starting with /","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"description":"This directive specifies the HTTP method that will be used to issue the request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies headers that will be sent with the request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the query string to use when making the request.","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"This directive specifies the request body.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"The temp directive specifies an object, which can be used to create custom temporary variables. It also creates a temp variable in IML, through which you then access your variables. The temp collection is not persisted and will be lost after the module is done executing.","type":"object","properties":{}},"condition":{"default":true,"description":"This directive specifies whether to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"description":"Specifies the module output when the condition is false.","anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"response":{"additionalProperties":false,"description":"Response parsing configuration","type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"trigger":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"enum":["date"],"type":"string"},{"enum":["id"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"order":{"anyOf":[{"enum":["asc"],"type":"string"},{"enum":["desc"],"type":"string"},{"enum":["unordered"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"id":{"maxLength":512,"type":"string"},"date":{"maxLength":512,"type":"string"}},"required":["type","order","id"]},"data":{"additionalProperties":{},"description":"Data saved to connection","type":"object","properties":{}},"metadata":{"additionalProperties":true,"description":"Connection metadata","type":"object","properties":{"value":{"maxLength":512,"type":"string"},"type":{"anyOf":[{"enum":["text"],"type":"string"},{"enum":["email"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"uid":{"description":"User remote service ID","anyOf":[{"type":"string"},{"type":"number"}]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"wrapper":{"default":"{{output}}","description":"Output post-processing wrapper","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"expires":{"minLength":1,"maxLength":512,"description":"Key expiration time for refresh triggers","type":"string"}}},"output":{"anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}},"verification":{"additionalProperties":false,"type":"object","properties":{"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"respond":{"additionalProperties":false,"type":"object","properties":{"type":{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"}]},"status":{"anyOf":[{"minimum":100,"maximum":999,"type":"integer"},{"type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]}}}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}}}}}]}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"set-module-section":{"summary":"Set Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/epoch":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, epoch, parameters, expect, interface, samples, scope<br />\n","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Query string parameters","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}},"response":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"description":"Epoch module output format","additionalProperties":true,"type":"object","properties":{"date":{},"label":{}},"required":["date","label"]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}}},"required":["output"]}},"required":["response"]}},"application/jsonc":{"schema":{"additionalProperties":false,"type":"object","properties":{"url":{"minLength":1,"maxLength":512,"description":"Request URL","type":"string"},"encodeUrl":{"default":true,"description":"This directive controls the encoding of URLs. It is on by default, so if you have any special characters in your URL, they will be automatically encoded. But there might be situations where you don't want your URL to be encoded automatically, or you want to control what parts of the URL are encoded. To do this, set this flag to false.","type":"boolean"},"method":{"anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Request headers","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"Query string parameters","type":"object","properties":{}},"ca":{"maxLength":8192,"description":"Custom Certificate Authority","type":"string"},"body":{"description":"Request body","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"type":{"anyOf":[{"default":"json","anyOf":[{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["multipart/form-data"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["binary"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"condition":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"default":{"anyOf":[{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]}},"required":["condition"]}]},"aws":{"additionalProperties":false,"description":"Helper directive, that will simplify generating AWS signatures.","type":"object","properties":{"key":{"maxLength":512,"description":"AWS key","type":"string"},"secret":{"maxLength":512,"description":"AWS secret","type":"string"},"session":{"maxLength":512,"description":"AWS session. Note that this only works for services that require session as part of the canonical string.","type":"string"},"bucket":{"maxLength":512,"description":"AWS bucket, unless you're specifying your bucket as part of the path, or the request doesn't use a bucket.","type":"string"},"sign_version":{"default":"2","description":"AWS sign version","anyOf":[{"enum":["2"],"type":"string"},{"enum":["4"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}}},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}},"gzip":{"default":false,"description":"Add an Accept-Encoding header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response.","type":"boolean"},"followRedirects":{"default":true,"description":"This directive specifies whether to follow GET HTTP 3xx responses as redirects or never.","type":"boolean"},"followAllRedirects":{"default":true,"description":"This directive specifies whether to follow non-GET HTTP 3xx responses as redirects or never.","type":"boolean"},"log":{"additionalProperties":false,"description":"This directive specifies logging options for both the request and the response.","type":"object","properties":{"sanitize":{"description":"An array of paths to sanitize when logging request or response.","type":"array","items":{"type":"string"}}}},"pagination":{"additionalProperties":false,"description":"Directive to specify how to process paginated responses.","type":"object","properties":{"mergeWithParent":{"default":true,"description":"This directive specifies if to merge pagination parameters with the original request parameters, or not.","type":"boolean"},"url":{"minLength":1,"maxLength":512,"description":"This directive specifies the URL that will be called when the pagination request is executed.","type":"string"},"method":{"description":"This directive specifies the HTTP method to be used when executing the pagination request.","anyOf":[{"default":"GET","anyOf":[{"enum":["GET"],"type":"string"},{"enum":["POST"],"type":"string"},{"enum":["PUT"],"type":"string"},{"enum":["PATCH"],"type":"string"},{"enum":["DELETE"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"headers":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request headers to be used when executing the pagination request.","type":"object","properties":{}},"qs":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"},{"type":"array","items":{}}]},"description":"This directive specifies the request query string parameters to be used when executing the pagination request.","type":"object","properties":{}},"body":{"description":"This directive specifies the request body when the request method is anything but GET to be used when executing the pagination request.","anyOf":[{"type":"object","properties":{}},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"string"}]},"condition":{"description":"This directive specifies whether to execute the pagination request or not.","anyOf":[{"type":"boolean"},{"type":"string"}]}}},"repeat":{"description":"Repeats a request under a certain condition with a predefined delay in milliseconds. The maximum number of repeats can be bounded by the repeat.limit.","type":"object","properties":{"condition":{"description":"Specifies if to execute the request or not.","type":"string"},"delay":{"description":"Specifies the delay in milliseconds.","type":"number"},"limit":{"description":"Specifies the maximum number of iterations.","type":"number"}}},"response":{"additionalProperties":false,"type":"object","properties":{"type":{"anyOf":[{"additionalProperties":{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"type":"object","properties":{}},{"anyOf":[{"default":"automatic","anyOf":[{"enum":["automatic"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["urlencoded"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["raw"],"type":"string"},{"enum":["string"],"type":"string"},{"enum":["binary"],"type":"string"},{"enum":["xml"],"type":"string"}]},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]}]},"valid":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"condition":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}}}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"anyOf":[{"description":"The error directive specifies the error type and the error message to show the user.","anyOf":[{"maxLength":1024,"type":"string"},{"required":["message"],"additionalProperties":{"required":["message"],"additionalProperties":false,"type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}},"description":"Error object. You can specify custom errors for different status codes by using the status code as the key (e.g., \"404\", \"500\").","type":"object","properties":{"message":{"description":"An expression that parses an error message from response body.","maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}}}]},{"additionalProperties":{"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]},"type":"object","properties":{"message":{"maxLength":1024,"type":"string"},"type":{"default":"RuntimeError","anyOf":[{"enum":["RuntimeError"],"type":"string"},{"enum":["DataError"],"type":"string"},{"enum":["RateLimitError"],"type":"string"},{"enum":["OutOfSpaceError"],"type":"string"},{"enum":["ConnectionError"],"type":"string"},{"enum":["InvalidConfigurationError"],"type":"string"},{"enum":["InvalidAccessTokenError"],"type":"string"},{"enum":["IncompleteDataError"],"type":"string"},{"enum":["DuplicateDataError"],"type":"string"}]}},"required":["message"]}]},"iterate":{"anyOf":[{"maxLength":512,"type":"string"},{"additionalProperties":false,"type":"object","properties":{"container":{"maxLength":512,"type":"string"},"condition":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["container"]}]},"temp":{"additionalProperties":{},"description":"Temporary variables accessible during execution","type":"object","properties":{}},"output":{"description":"Epoch module output format","additionalProperties":true,"type":"object","properties":{"date":{},"label":{}},"required":["date","label"]},"oauth":{"additionalProperties":false,"description":"Helper directive, that will simplify generating an OAuth1 Authorization headers.","type":"object","properties":{"consumer_key":{"maxLength":512,"description":"Your consumer key.","type":"string"},"consumer_secret":{"maxLength":512,"description":"Your consumer secret.","type":"string"},"private_key":{"maxLength":512,"description":"Instead of consumer_secret you can specify a private_key string in PEM format.","type":"string"},"token":{"maxLength":512,"description":"An expression that parses the oauth_token string.","type":"string"},"token_secret":{"maxLength":512,"description":"An expression that parses the oauth_token_secret string.","type":"string"},"verifier":{"maxLength":512,"description":"An expression that parses the oauth_verifier string.","type":"string"},"signature_method":{"default":"HMAC-SHA1","description":"Specifies the desired method to use when calculating the signature.","anyOf":[{"enum":["HMAC-SHA1"],"type":"string"},{"enum":["RSA-SHA1"],"type":"string"},{"enum":["PLAINTEXT"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"transport_method":{"default":"header","description":"Specifies how OAuth parameters are sent: via query params, header or in a POST body.","anyOf":[{"enum":["query"],"type":"string"},{"enum":["body"],"type":"string"},{"enum":["header"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"body_hash":{"default":true,"description":"To use Request Body Hash, you can either manually generate it, or you can set this directive to true and the body hash will be generated automatically.","anyOf":[{"type":"string"},{"type":"boolean"}]}}}},"required":["output"]}},"required":["response"]}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"set-module-section":{"summary":"Set Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/interface":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, epoch, parameters, expect, interface, samples, scope<br />\n","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]}},"application/jsonc":{"schema":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"set-module-section":{"summary":"Set Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/parameters":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, epoch, parameters, expect, interface, samples, scope<br />\n","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]}},"application/jsonc":{"schema":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"label":{"minLength":1,"maxLength":256,"type":"string"},"help":{"minLength":1,"type":"string"},"type":{"anyOf":[{"enum":["any"],"type":"string"},{"enum":["array"],"type":"string"},{"enum":["boolean"],"type":"string"},{"enum":["buffer"],"type":"string"},{"enum":["cert"],"type":"string"},{"enum":["collection"],"type":"string"},{"enum":["color"],"type":"string"},{"enum":["date"],"type":"string"},{"enum":["email"],"type":"string"},{"enum":["filename"],"type":"string"},{"enum":["folder"],"type":"string"},{"enum":["file"],"type":"string"},{"enum":["filter"],"type":"string"},{"enum":["hidden"],"type":"string"},{"enum":["json"],"type":"string"},{"enum":["integer"],"type":"string"},{"enum":["uinteger"],"type":"string"},{"enum":["number"],"type":"string"},{"enum":["password"],"type":"string"},{"enum":["path"],"type":"string"},{"enum":["pkey"],"type":"string"},{"enum":["port"],"type":"string"},{"enum":["select"],"type":"string"},{"enum":["text"],"type":"string"},{"enum":["time"],"type":"string"},{"enum":["timestamp"],"type":"string"},{"enum":["timezone"],"type":"string"},{"enum":["url"],"type":"string"},{"enum":["uuid"],"type":"string"},{"enum":["banner"],"type":"string"},{"enum":["udt"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"semantic":{"minLength":1,"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"type":"array","items":{}},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}},{"type":"string"}]},"advanced":{"type":"boolean"},"required":{"type":"boolean"},"grouped":{"type":"boolean"},"dynamic":{"type":"boolean"},"multiline":{"type":"boolean"},"sort":{"type":"string"},"sequence":{"type":"boolean"},"schema":{},"tags":{"anyOf":[{"enum":["strip"],"type":"string"},{"enum":["stripall"],"type":"string"},{"enum":["escape"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"coder":{"type":"boolean"},"multiple":{"type":"boolean"},"visible":{"type":"string"},"convert":{"additionalProperties":false,"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"names":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}},"required":["name"]}}]}},"required":["type"]},"editable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"enabled":{"type":"boolean"},"help":{"minLength":1,"type":"string"}},"required":["enabled"]}]},"mappable":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"help":{"minLength":1,"type":"string"}},"required":["help"]}]},"time":{"type":"boolean"},"rpc":{"additionalProperties":false,"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"},"parameters":{"type":"array","items":{}}},"required":["url","label"]},"mode":{"anyOf":[{"enum":["edit"],"type":"string"},{"enum":["choose"],"type":"string"},{"pattern":"^.*[{][{].*[}][}].*$","type":"string"}]},"labels":{"additionalProperties":{},"type":"object","properties":{}},"metadata":{"additionalProperties":{},"type":"object","properties":{}},"spec":{},"codepage":{"type":"string"},"pattern":{"type":"string"},"nested":{},"options":{"anyOf":[{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"store":{"anyOf":[{"type":"string"},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}},{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}}]},"label":{"type":"string"},"value":{"type":"string"},"default":{"type":"string"},"learning":{"type":"boolean"},"placeholder":{"anyOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"label":{"type":"string"},"nested":{}}}]},"nested":{},"operators":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"options":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"label":{"minLength":1,"maxLength":256,"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{}},{"type":"boolean"},{"type":"integer"},{"type":"string","nullable":true},{"type":"number"},{"type":"object","properties":{}}]},"description":{"type":"string"},"nested":{},"default":{"type":"boolean"},"short":{"type":"string"}},"required":["value"]}}},"required":["label","options"]}},"logic":{"type":"string"},"scope":{"anyOf":[{"type":"array","items":{"type":"string"}},{"additionalProperties":{"type":"array","items":{"type":"string"}},"type":"object","properties":{}}]},"ids":{"type":"boolean"},"showRoot":{"type":"boolean"},"singleLevel":{"type":"boolean"}}}]},"extension":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"validate":{"anyOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"minItems":{"type":"integer"},"maxItems":{"type":"integer"},"pattern":{"type":"string"},"enum":{"type":"array","items":{}}}}]},"title":{"type":"string"},"text":{"type":"string"},"closable":{"type":"boolean"},"theme":{"type":"string"},"badge":{"type":"string"}},"required":["type"]}},{"type":"string"}]}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"set-module-section":{"summary":"Set Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/samples":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, epoch, parameters, expect, interface, samples, scope<br />\n","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{},"type":"object","properties":{}}},"application/jsonc":{"schema":{"additionalProperties":{},"type":"object","properties":{}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"set-module-section":{"summary":"Set Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/scope":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, epoch, parameters, expect, interface, samples, scope<br />\n","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"minLength":1,"maxLength":512,"type":"string"}}},"application/jsonc":{"schema":{"type":"array","items":{"minLength":1,"maxLength":512,"type":"string"}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"set-module-section":{"summary":"Set Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleSection}":{"get":{"tags":["SDK Apps / Modules"],"summary":"Get Module Section","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleSection","in":"path","schema":{"type":"string","enum":["api","epoch","parameters","expect","interface","samples","scope"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object","additionalProperties":{}},"body":{"type":"object","additionalProperties":{}},"headers":{"type":"object","additionalProperties":{}},"response":{"type":"object","properties":{"iterate":{"type":"string"},"trigger":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string"},"type":{"type":"string"},"order":{"type":"string"}}},"output":{"type":"string"},"limit":{"type":"string"}}}}},"examples":{"get-module-section":{"summary":"Get Module Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","trigger":{"id":"{{item.id}}","date":"{{item.created}}","type":"string","format":"date","order":"desc"},"output":"{{item}}","limit":"{{parameters.limit}}"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleVisibility}":{"post":{"tags":["SDK Apps / Modules"],"summary":"Set Module Visibility","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"example":{"changed":true}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleVisibility","in":"path","schema":{"type":"string","enum":["public","private"]},"required":true}]}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/clone":{"post":{"tags":["SDK Apps / Modules"],"summary":"Clone Module","security":[{"token":["sdk-apps:write"]}],"description":"Creates a duplicate of a module.<br />\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"newName":{"type":"string"},"label":{"type":"string"}}},"example":{"newName":"apicek","label":"Testicek (clone)"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"module":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"typeId":{"type":"integer"},"connection":{"type":"string"},"webhook":{"type":"string"},"crud":{"type":"string"}}}}},"examples":{"clone-module":{"summary":"Clone Module","value":{"module":{"name":"apicek","label":"Testicek (clone)","description":"Těstíčko.","typeId":4,"connection":"multiverse","webhook":null,"crud":null}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleDeprecation}":{"post":{"tags":["SDK Apps / Modules"],"summary":"Set Module Deprecation","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleDeprecation","in":"path","schema":{"type":"string","enum":["deprecate","undeprecate"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-module-deprecation":{"summary":"Set Module Deprecation","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleArchiveStatus}":{"post":{"tags":["SDK Apps > Modules"],"summary":"Set Module Archive Status","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleArchiveStatus","in":"path","schema":{"type":"string","enum":["archive","unarchive"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-module-archive-status":{"summary":"Set Module Archive Status","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/modules/{SDK_moduleName}/{SDK_moduleConsumable}":{"put":{"tags":["SDK Apps / Modules"],"summary":"Set Module Consumable","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_moduleName","in":"path","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"centicreditsFormula":{"type":"string"},"centicreditsFormulaDescription":{"type":"string"},"centicreditsFormulaDocumentationUrl":{"type":"string"},"centicreditsFormulaMeta":{"type":"string"}}},"example":{"centicreditsFormula":"1+1","centicreditsFormulaDescription":"A simple formula.","centicreditsFormulaDocumentationUrl":"https://example.com/docs","centicreditsFormulaMeta":"{}"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}},"example":{"name":"the-module-name"}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs":{"get":{"tags":["SDK Apps / RPCs"],"summary":"List App RPCs","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"rpcs":{"type":"array","items":{}}}},"examples":{"list-app-rpcs":{"summary":"List App RPCs","value":{"rpcs":[]}}}}}}}},"post":{"tags":["SDK Apps / RPCs"],"summary":"Create RPC","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"connection":{"type":"string","nullable":true}}},"example":{"name":"listUsers","label":"List Users","connection":null}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appRpc":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}}}}},"examples":{"create-rpc":{"summary":"Create RPC","value":{"appRpc":{"name":"listUsers","label":"List Users"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}":{"delete":{"tags":["SDK Apps / RPCs"],"summary":"Delete RPC","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appRpc":{"type":"string"}}},"examples":{"delete-rpc":{"summary":"Delete RPC","value":{"appRpc":"listUsers"}}}}}}}},"get":{"tags":["SDK Apps / RPCs"],"summary":"Get RPC","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appRpc":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"connection":{"type":"string"},"altConnection":{"type":"string"}}}}},"examples":{"get-rpc":{"summary":"Get RPC","value":{"appRpc":{"name":"listUsers","label":"List Users","connection":null,"altConnection":null}}}}}}}}},"patch":{"tags":["SDK Apps / RPCs"],"summary":"Patch RPC","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"},"connection":{"type":"string","nullable":true},"altConnection":{"type":"string","nullable":true}}},"example":{"label":"New RPC Label","connection":"new-connection"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appRpc":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"connection":{"type":"string"},"altConnection":{"type":"string"}}}}},"examples":{"patch-rpc":{"summary":"Patch RPC","value":{"appRpc":{"name":"listUsers","label":"IDI","connection":null,"altConnection":null}}}}}}}}},"post":{"tags":["SDK Apps / RPCs"],"summary":"Test RPC","security":[{"token":["sdk-apps:write"]}],"description":"Tests the RPC<br />\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"utc-millisec"},"jidlo":{"type":"string"}}},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"}}}}}},"example":{"data":{"id":"1","jidlo":"Banana bread"},"schema":[{"name":"id","type":"integer","required":true},{"name":"jidlo","type":"text","required":true}]}}}},"responses":{"200":{"description":"Successful response"}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcName","in":"path","schema":{"type":"string"},"required":true}]}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/rpcs/{SDK_rpcName}/{SDK_rpcSection}":{"get":{"tags":["SDK Apps / RPCs"],"summary":"Get RPC Section","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcSection","in":"path","schema":{"type":"string","enum":["api","parameters"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"output":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}},"examples":{"get-rpc-section":{"summary":"Get RPC Section","value":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","output":{"label":"{{item.name}}","value":"{{item.id}}"}}}}}}}}}},"put":{"tags":["SDK Apps / RPCs"],"summary":"Set RPC Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, parameters<br />\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"qs":{"type":"object"},"body":{"type":"object"},"headers":{"type":"object"},"response":{"type":"object","properties":{"iterate":{"type":"string"},"output":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}}},"example":{"url":"/api/users","method":"GET","qs":{},"body":{},"headers":{},"response":{"iterate":"{{body.users}}","output":{"label":"{{item.name}}","value":"{{item.id}}"}}}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_rpcSection","in":"path","schema":{"type":"string","enum":["api","parameters"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object","properties":{"id":{"type":"integer"},"group":{"type":"string"},"code":{"type":"string"},"oldValue":{"type":"object"},"newValue":{"type":"object"}}}}},"examples":{"set-rpc-section":{"summary":"Set RPC Section","value":{"change":{"id":12345,"group":"apps_rpcs","code":"api","oldValue":{"url":"/api/users"},"newValue":{"url":"/api/v2/users"}}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions":{"post":{"tags":["SDK Apps / Functions"],"summary":"Create Function","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}},"example":{"name":"parseTime3"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appFunction":{"type":"object","properties":{"name":{"type":"string"}}}}},"examples":{"create-function":{"summary":"Create Function","value":{"appFunction":{"name":"parseTime"}}}}}}}}},"get":{"tags":["SDK Apps / Functions"],"summary":"List App Functions","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"all","in":"query","schema":{"type":"boolean"},"example":"true"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appFunctions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"args":{"type":"string"}}}}}},"examples":{"list-app-functions":{"summary":"List App Functions","value":{"appFunctions":[{"name":"myFunction","args":"()"}]}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions/{SDK_functionName}":{"get":{"tags":["SDK Apps / Functions"],"summary":"Get Function","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_functionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appFunction":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"changes":{"type":"object"}},"required":["name","code","changes"]}}},"examples":{"get-function":{"summary":"Get Function","value":{"appFunction":{"name":"parseTime","code":"function parseTime() {}","changes":{}}}}}}}}}},"delete":{"tags":["SDK Apps / Functions"],"summary":"Delete Function","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_functionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appFunction":{"type":"object","properties":{"name":{"type":"string"}}}}},"examples":{"delete-function":{"summary":"Delete Function","value":{"appFunction":{"name":"parseTime"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions/{SDK_functionName}/code":{"get":{"tags":["SDK Apps / Functions"],"summary":"Get Function Code","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_functionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/javascript":{"schema":{"type":"string"},"examples":{"get-function-code":{"summary":"Get Function Code","value":"function parseTime() {\n\n}"}}}}}}},"put":{"tags":["SDK Apps / Functions"],"summary":"Set Function Code","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/javascript":{"schema":{"type":"string","example":"function parseTime() {\n\tconst a = \"Hello There\"\n}"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_functionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object","properties":{"id":{"type":"integer"},"group":{"type":"string"},"item":{"type":"string"},"code":{"type":"string"}}}}},"examples":{"set-function-code":{"summary":"Set Function Code","value":{"change":{"id":123456,"group":"function","item":"parseTime","code":"code"}}}}}}}}}},"/sdk/apps/{SDK_appName}/{SDK_appVersion}/functions/{SDK_functionName}/test":{"get":{"tags":["SDK Apps / Functions"],"summary":"Get Function Test","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_functionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/javascript":{"schema":{"type":"string"},"examples":{"get-function-test":{"summary":"Get Function Test","value":"console.log('This is a test');"}}}}}}},"put":{"tags":["SDK Apps / Functions"],"summary":"Set Function Test","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/javascript":{"schema":{"type":"string","example":"console.log('This is a new test');"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_appVersion","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_functionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-function-test":{"summary":"Set Function Test","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/connections":{"post":{"tags":["SDK Apps / Connections"],"summary":"Create Connection","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["oauth","oauth-refresh","oauth-resowncre","oauth-clicre","oauth-1","apikey","basic","other"]},"label":{"type":"string"}}},"example":{"type":"basic","label":"Hello Charlie"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appConnection":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"}}}}},"examples":{"create-connection":{"summary":"Create Connection","value":{"appConnection":{"name":"custom-app-13","label":"Main Connection","type":"basic"}}}}}}}}},"get":{"tags":["SDK Apps / Connections"],"summary":"List App Connections","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appConnections":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"parameters":{"type":"object","description":"Connection parameters. The structure depends on the connection type."},"app_version":{"type":"string","description":"Version of the app this connection belongs to."},"alias_to":{"type":"string","nullable":true,"description":"The original name of an aliased connection."}}}}}},"examples":{"list-app-connections":{"summary":"List App Connections","value":{"appConnections":[{"name":"testConnection","label":"Test Connection","type":"oauth","parameters":{},"app_version":"1","alias_to":null},{"name":"postman-test-app-6-1","label":"Test Connection","type":"oauth"},{"name":"postman-test-app-6-12","label":"Test Connection","type":"oauth"},{"name":"postman-test-app-6-13","label":"Test Connection","type":"oauth"},{"name":"postman-test-app-6-14","label":"Test Connection","type":"oauth"},{"name":"postman-test-app-6-15","label":"Test Connection","type":"oauth"},{"name":"postman-test-app-6-16","label":"Test Connection","type":"oauth"}]}}}}}}}}},"/sdk/apps/connections/{SDK_connectionName}":{"get":{"tags":["SDK Apps / Connections"],"summary":"Get Connection","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appConnection":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"connectedSystemName":{"type":"string","nullable":true},"appVersion":{"type":"string"},"redirectUri":{"type":"string","description":"Only for OAuth connections"}}}}},"examples":{"get-connection":{"summary":"Get Connection","value":{"appConnection":{"name":"custom-app-13","label":"Main Connection","type":"basic","appVersion":"1"}}}}}}}}},"patch":{"tags":["SDK Apps / Connections"],"summary":"Update Connection","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"},"connectedSystemName":{"type":"string","nullable":true}}},"example":{"label":"Main Connection","connectedSystemName":"my-agent"}}}},"parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appConnection":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"}}}}},"examples":{"update-connection":{"summary":"Update Connection","value":{"appConnection":{"name":"charlie-1","label":"Main Connection","type":"basic","connectedSystemName":"my-agent"}}}}}}}}},"delete":{"tags":["SDK Apps / Connections"],"summary":"Delete Connection","description":"Deletes a connection. The connection must not be in use (e.g. referenced by a webhook/module/RPC or attached to an endpoint), otherwise the request is rejected.","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appConnection":{"type":"string"}}},"examples":{"delete-connection":{"summary":"Delete Connection","value":{"appConnection":"custom-app-13"}}}}}},"400":{"description":"The connection is in use and cannot be deleted (e.g. attached to an endpoint or a webhook).","content":{"application/json":{"schema":{"type":"object"},"examples":{"used-by-endpoint":{"summary":"Connection is attached to an endpoint","value":{"detail":"Connection is used by an Endpoint.","code":"IM005"}},"used-by-webhook":{"summary":"Connection is referenced by a webhook","value":{"detail":"Connection is used by a Webhook.","code":"IM005"}}}}}}}}},"/sdk/apps/connections/{SDK_connectionName}/{SDK_connectionSection}":{"get":{"tags":["SDK Apps / Connections"],"summary":"Get Connection Section","security":[{"token":["sdk-apps:read"]}],"description":"Available sections: api, parameters, scopes, scope, install, installSpec<br />\n","parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_connectionSection","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"authorize":{"type":"object","properties":{"qs":{"type":"object","properties":{"scope":{"type":"string"},"client_id":{"type":"string"},"redirect_uri":{"type":"string"},"response_type":{"type":"string"}}},"url":{"type":"string","format":"uri"},"response":{"type":"object","properties":{"temp":{"type":"object","properties":{"code":{"type":"string"}}}}}}},"token":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"body":{"type":"object","properties":{"code":{"type":"string"},"client_id":{"type":"string"},"grant_type":{"type":"string"},"redirect_uri":{"type":"string"},"client_secret":{"type":"string"}}},"type":{"type":"string"},"method":{"type":"string"},"response":{"type":"object","properties":{"data":{"type":"object","properties":{"accessToken":{"type":"string"}}}}},"log":{"type":"object","properties":{"sanitize":{"type":"array","items":{"type":"string"}}}}}},"info":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"headers":{"type":"object","properties":{"authorization":{"type":"string"}}},"response":{"type":"object","properties":{"uid":{"type":"string"},"metadata":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}}}}},"log":{"type":"object","properties":{"sanitize":{"type":"array","items":{"type":"string"}}}}}},"invalidate":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"headers":{"type":"object","properties":{"authorization":{"type":"string"}}},"log":{"type":"object","properties":{"sanitize":{"type":"array","items":{"type":"string"}}}}}}}},"examples":{"get-connection-section":{"summary":"Get Connection Section","value":{"authorize":{"qs":{"scope":"{{join(oauth.scope, ',')}}","client_id":"{{ifempty(parameters.clientId, common.clientId)}}","redirect_uri":"{{oauth.redirectUri}}","response_type":"code"},"url":"https://www.example.com/oauth/authorize","response":{"temp":{"code":"{{query.code}}"}}},"token":{"url":"https://www.example.com/api/token","body":{"code":"{{temp.code}}","client_id":"{{ifempty(parameters.clientId, common.clientId)}}","grant_type":"authorization_code","redirect_uri":"{{oauth.redirectUri}}","client_secret":"{{ifempty(parameters.clientSecret, common.clientSecret)}}"},"type":"urlencoded","method":"POST","response":{"data":{"accessToken":"{{body.access_token}}"}},"log":{"sanitize":["request.body.code","request.body.client_secret","response.body.access_token"]}},"info":{"url":"https://www.example.com/api/whoami","headers":{"authorization":"Bearer {{connection.accessToken}}"},"response":{"uid":"{{body.id}}","metadata":{"type":"text","value":"{{body.user}}"}},"log":{"sanitize":["request.headers.authorization"]}},"invalidate":{"url":"https://www.example.com/oauth/invalidate","headers":{"authorization":"Bearer {{connection.accessToken}}"},"log":{"sanitize":["request.headers.authorization"]}}}}}}}}}},"put":{"tags":["SDK Apps / Connections"],"summary":"Set Connection Section","security":[{"token":["sdk-apps:write"]}],"description":"Available sections: api, parameters, scopes, scope, installSpec, install<br />\n","requestBody":{"content":{"application/json":{"schema":{"description":"The structure of the request body varies depending on the section being updated. It can be a JSON object or array.","oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"example":[{"name":"apiKey","type":"text","label":"API Key","required":true}]}}},"parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_connectionSection","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object","properties":{"id":{"type":"integer"},"group":{"type":"string"},"item":{"type":"string"},"code":{"type":"string"}}}}},"examples":{"set-connection-section":{"summary":"Set Connection Section","value":{"change":{"id":12345,"group":"apps_connections","item":"my-connection-name","code":"parameters"}}}}}}}}}},"/sdk/apps/connections/{SDK_connectionName}/common":{"get":{"tags":["SDK Apps / Connections"],"summary":"Get Connection Common","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"The common data for the connection. The structure of this object is not fixed and depends on the connection's configuration."},"examples":{"get-connection-common":{"summary":"Example of a common data object","value":{"clientId":"your-client-id","clientSecret":"your-client-secret"}}}}}}}},"put":{"tags":["SDK Apps / Connections"],"summary":"Set Connection Common","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"The common data for the connection. The structure of this object is not fixed and depends on the connection's configuration."},"example":{"clientId":"your-client-id","clientSecret":"your-client-secret"}}}},"parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"examples":{"set-connection-common":{"summary":"Set Connection Common","value":{"changed":true}}}}}}}}},"/sdk/apps/{SDK_appName}/webhooks":{"post":{"tags":["SDK Apps / Webhooks"],"summary":"Create Webhook","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"label":{"type":"string"},"connection":{"type":"string"}}},"example":{"type":"web","label":"Watch Events","connection":"my-connection"}}}},"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/json"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appWebhook":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"}}}}},"examples":{"create-webhook":{"summary":"Create Webhook","value":{"appWebhook":{"name":"my-app-1","label":"Watch Events","type":"web"}}}}}}}}},"get":{"tags":["SDK Apps / Webhooks"],"summary":"List App Webhooks","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_appName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appWebhooks":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"parameters":{"type":"object"},"app_version":{"type":"integer"}}}}}},"examples":{"list-app-webhooks":{"summary":"List App Webhooks","value":{"appWebhooks":[{"name":"postman-test-app-6-1","label":"Test Connection","type":"web","parameters":{},"app_version":1},{"name":"aaaa","label":"Test Connection","type":"web","parameters":{},"app_version":1},{"name":"postman-test-app-6-12","label":"Test Connection","type":"web","parameters":{},"app_version":1},{"name":"postman-test-app-6-13","label":"Test Connection","type":"web","parameters":{},"app_version":1}]}}}}}}}}},"/sdk/apps/webhooks/{SDK_webhookName}":{"get":{"tags":["SDK Apps / Webhooks"],"summary":"Get Webhook","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_webhookName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appWebhook":{"type":"object","properties":{"appName":{"type":"string"},"appVersion":{"type":"integer"},"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"connection":{"type":"string","nullable":true},"altConnection":{"type":"string","nullable":true},"api":{"type":"object"},"parameters":{"type":"object"},"attach":{"type":"object"},"detach":{"type":"object"},"update":{"type":"object"},"scope":{"type":"object"},"changes":{"type":"object"},"aliasTo":{"type":"string","nullable":true},"endpoint":{"type":"string"},"shieldEndpoint":{"type":"string"}}}}},"examples":{"get-webhook":{"summary":"Get Webhook","value":{"appWebhook":{"appName":"custom-app","appVersion":1,"name":"custom-app-12","label":"Watch Events","type":"web","connection":"custom-app-1","altConnection":null,"api":{},"parameters":{},"attach":{},"detach":{},"update":{},"scope":{},"changes":{},"aliasTo":null,"endpoint":"https://hook.integromat.com/app/custom-app-12/...","shieldEndpoint":"https://shield.integromat.com/app/custom-app-12/..."}}}}}}}}},"patch":{"tags":["SDK Apps / Webhooks"],"summary":"Update Webhook","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"},"connection":{"type":"string","nullable":true},"altConnection":{"type":"string","nullable":true}}},"example":{"label":"Test Renamed","connection":"my-connection","altConnection":null}}}},"parameters":[{"name":"SDK_webhookName","in":"path","schema":{"type":"string"},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/json"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appWebhook":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"connection":{"type":"string","nullable":true},"altConnection":{"type":"string","nullable":true}}}}},"examples":{"update-webhook":{"summary":"Update Webhook","value":{"appWebhook":{"name":"charlie-1","label":"Test Renamed","type":"web","connection":null,"altConnection":null}}}}}}}}},"delete":{"tags":["SDK Apps / Webhooks"],"summary":"Delete Webhook","security":[{"token":["sdk-apps:write"]}],"parameters":[{"name":"SDK_webhookName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"appWebhook":{"type":"string"}}},"examples":{"delete-webhook":{"summary":"Delete Webhook","value":{"appWebhook":"custom-app-12"}}}}}}}}},"/sdk/apps/webhooks/{SDK_webhookName}/{SDK_webhookSection}":{"get":{"tags":["SDK Apps / Webhooks"],"summary":"Get Webhook Section","security":[{"token":["sdk-apps:read"]}],"parameters":[{"name":"SDK_webhookName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_webhookSection","in":"path","schema":{"type":"string","enum":["api","parameters","attach","detach","update","scope"]},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"output":{"type":"string"}}},"examples":{"get-webhook-section":{"summary":"Get Webhook Section","value":{"output":"{{body}}"}}}}}}}},"put":{"tags":["SDK Apps / Webhooks"],"summary":"Set Webhook Section","security":[{"token":["sdk-apps:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"output":{"type":"string"},"test":{"type":"boolean"}}},"example":{"output":"{{body}}","test":true}}}},"parameters":[{"name":"SDK_webhookName","in":"path","schema":{"type":"string"},"required":true},{"name":"SDK_webhookSection","in":"path","schema":{"type":"string","enum":["api","parameters","attach","detach","update","scope"]},"required":true},{"name":"Content-Type","in":"header","schema":{"type":"string"},"example":"application/jsonc"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"change":{"type":"object"}}},"examples":{"set-webhook-section":{"summary":"Set Webhook Section","value":{"change":{}}}}}}}}}},"/sdk/apps/connections/{SDK_connectionName}/recreate":{"post":{"tags":["SDK Apps / Connections"],"summary":"Recreate Connection","security":[{"token":["sdk-apps:write"]}],"description":"Recreates an existing app connection and synchronises it with HQ.\n","parameters":[{"name":"SDK_connectionName","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"An empty object is returned on successful recreation."},"examples":{"recreate-connection":{"summary":"Recreate Connection","value":{}}}}}}}}},"/private-spaces":{"get":{"tags":["Private spaces"],"summary":"List private spaces","description":"Gets the list of private spaces in the organization with specified `organizationId`.\n\nRequires the `personal team manage` organization permission (admins: `organization view`) and the `private-spaces:read` scope. Members without that permission receive `403` (`IM002`); they can list their own private spaces with `GET /organizations?cols[]=privateSpaces` instead.\n\nAvailable on app zones only.\n","security":[{"token":["private-spaces:read"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"required":true,"example":1,"description":"The ID of the organization."},{"name":"externalId","in":"query","schema":{"type":"string"},"required":false,"example":"42","description":"Filter private spaces by external ID."},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"privateSpaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the private space."},"name":{"type":"string","description":"The name of the private space."},"organizationId":{"type":"integer","description":"The ID of the organization the private space belongs to."},"globalAgentsEnabled":{"type":"boolean","description":"Whether global agents are enabled for this private space."},"type":{"type":"string","enum":["personal"],"description":"The type of the space. Always `personal`."},"privateSpaceOwnerName":{"type":"string","description":"The name of the private space owner."},"privateSpaceOwnerEmail":{"type":"string","format":"email","description":"The email address of the private space owner."},"privateSpaceOwnerId":{"type":"integer","description":"The ID of the private space owner."},"operationsLimit":{"type":"integer","nullable":true,"description":"The maximum number of operations allowed. `null` if no limit is set."},"transferLimit":{"type":"string","nullable":true,"description":"The maximum data transfer allowed in bytes. `null` if no limit is set."},"consumedOperations":{"type":"integer","nullable":true,"description":"The number of operations consumed in the current period."},"consumedTransfer":{"type":"string","nullable":true,"description":"The amount of data transfer consumed in bytes in the current period."},"isPaused":{"type":"boolean","nullable":true,"description":"Whether the private space is paused due to exceeding limits."},"consumedCenticredits":{"type":"integer","nullable":true,"description":"The number of centicredits consumed in the current period."}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"default-cols":{"summary":"List private spaces with default columns","privateSpaces":[{"id":10,"name":"John's space","organizationId":1,"globalAgentsEnabled":false,"type":"personal","privateSpaceOwnerName":"John Doe","privateSpaceOwnerEmail":"john.doe@example.com","privateSpaceOwnerId":42}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}},"all-cols":{"summary":"List private spaces with all columns","privateSpaces":[{"id":10,"name":"John's space","organizationId":1,"globalAgentsEnabled":false,"type":"personal","privateSpaceOwnerName":"John Doe","privateSpaceOwnerEmail":"john.doe@example.com","privateSpaceOwnerId":42,"operationsLimit":10000,"transferLimit":"536870912","consumedOperations":42,"consumedTransfer":"1024","isPaused":false,"consumedCenticredits":500}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}}}}}},"403":{"description":"The caller lacks the `personal team manage` permission on the organization (`IM002`).","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Insufficient rights.","code":"IM002"}}}}}}},"/private-spaces/{privateSpaceId}":{"get":{"tags":["Private spaces"],"summary":"Get a private space","description":"Returns the details of a single private space. Requires the `private-spaces:read` scope. Users with the `personal team manage` organization permission can get any private space in the organization (admins: `organization view`). Other users need the `personal team own view` organization permission and can only get their own private space: callers lacking the permission receive `403` (`IM002`), and anyone else's private space returns `404`. When called with an API token or OAuth, the caller must also be a member of the private space (its owner or an observer); otherwise the API responds with `403`.","security":[{"token":["private-spaces:read"]}],"parameters":[{"name":"privateSpaceId","in":"path","schema":{"type":"integer"},"required":true,"example":10,"description":"The ID of the private space."},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"privateSpace":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the private space."},"name":{"type":"string","description":"The name of the private space."},"organizationId":{"type":"integer","description":"The ID of the organization the private space belongs to."},"globalAgentsEnabled":{"type":"boolean","description":"Whether global agents are enabled for this private space."},"type":{"type":"string","enum":["personal"],"description":"The type of the space. Always `personal`."},"privateSpaceOwnerName":{"type":"string","description":"The name of the private space owner."},"privateSpaceOwnerEmail":{"type":"string","format":"email","description":"The email address of the private space owner."},"privateSpaceOwnerId":{"type":"integer","description":"The ID of the private space owner."},"operationsLimit":{"type":"integer","nullable":true,"description":"The maximum number of operations allowed. `null` if no limit is set."},"transferLimit":{"type":"string","nullable":true,"description":"The maximum data transfer allowed in bytes. `null` if no limit is set."},"consumedOperations":{"type":"integer","nullable":true,"description":"The number of operations consumed in the current period."},"consumedTransfer":{"type":"string","nullable":true,"description":"The amount of data transfer consumed in bytes in the current period."},"isPaused":{"type":"boolean","nullable":true,"description":"Whether the private space is paused due to exceeding limits."},"consumedCenticredits":{"type":"integer","nullable":true,"description":"The number of centicredits consumed in the current period."},"operations":{"type":"string","description":"Total operations consumed since last reset (from Elasticsearch)."},"transfer":{"type":"string","description":"Total data transfer consumed since last reset in bytes (from Elasticsearch)."},"centicredits":{"type":"string","description":"Total centicredits consumed since last reset (from Elasticsearch)."}}}}},"example":{"privateSpace":{"id":10,"name":"John's space","organizationId":1,"globalAgentsEnabled":false,"type":"personal","privateSpaceOwnerName":"John Doe","privateSpaceOwnerEmail":"john.doe@example.com","privateSpaceOwnerId":42}}}}}}},"patch":{"tags":["Private spaces"],"summary":"Update a private space","description":"Updates a private space. Currently supports changing the operations limit (credit limit). Requires the `personal team manage` organization permission (admins: `organization edit`) and the `private-spaces:write` scope.","security":[{"token":["private-spaces:write"]}],"parameters":[{"name":"privateSpaceId","in":"path","schema":{"type":"integer"},"required":true,"example":10,"description":"The ID of the private space."},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"required":false,"description":"When `true`, confirms the operation even if the new limit is below the current consumption. This will pause the private space."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"operationsLimit":{"type":"integer","nullable":true,"minimum":0,"maximum":2000000000,"description":"Optional. The new operations limit for the private space. Transfer limit is auto-calculated. Set to `null` to remove limits, omit to leave unchanged. The maximum matches the highest number of credits an organization can be licensed for.","example":10000}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"privateSpace":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the private space."},"name":{"type":"string","description":"The name of the private space."},"organizationId":{"type":"integer","description":"The ID of the organization the private space belongs to."},"deleted":{"type":"boolean","description":"Whether the private space is deleted."},"externalId":{"type":"string","nullable":true,"description":"The external ID of the private space."},"globalAgentsEnabled":{"type":"boolean","description":"Whether global agents are enabled for this private space."},"type":{"type":"string","enum":["personal"]},"privateSpaceOwnerName":{"type":"string","description":"The name of the private space owner."},"privateSpaceOwnerEmail":{"type":"string","description":"The email of the private space owner."},"privateSpaceOwnerId":{"type":"integer","description":"The ID of the private space owner."},"operationsLimit":{"type":"integer","nullable":true,"description":"The maximum number of operations allowed."},"transferLimit":{"type":"string","nullable":true,"description":"The maximum data transfer allowed in bytes."},"consumedOperations":{"type":"integer","description":"The number of operations consumed in the current period."},"consumedTransfer":{"type":"string","description":"The amount of data transfer consumed in bytes."},"isPaused":{"type":"boolean","description":"Whether the private space is paused."},"consumedCenticredits":{"type":"integer","description":"The number of centicredits consumed in the current period."}}}}},"example":{"privateSpace":{"id":10,"name":"John's space","organizationId":1,"deleted":false,"externalId":null,"globalAgentsEnabled":false,"type":"personal","privateSpaceOwnerName":"John Doe","privateSpaceOwnerEmail":"john.doe@example.com","privateSpaceOwnerId":42,"operationsLimit":10000,"transferLimit":"536870912","consumedOperations":42,"consumedTransfer":"1024","isPaused":false,"consumedCenticredits":500}}}}}}}},"/teams":{"get":{"tags":["Teams"],"summary":"List teams","description":"Gets the list of teams in the organization with specified `organizationId`.","security":[{"token":["teams:read"]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"integer"},"required":true,"example":1,"description":"The ID of the organization."},{"name":"includePrivateSpaces","in":"query","schema":{"type":"boolean","default":false},"required":false,"example":true,"description":"When `true`, the caller's private space(s) — companies of type `personal` — are included\nin the list alongside standard teams. Defaults to `false`. Has no effect on instances where\nprivate spaces are not available. Request `cols[]=type` to tell private spaces apart from\nstandard teams in the response.\n"},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"organizationId":{"type":"integer"},"activeScenarios":{"type":"integer","description":"Number of active scenarios in the team. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"activeApps":{"type":"integer","description":"Number of distinct apps that need a connection, used by the team's active scenarios. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"operationsLimit":{"type":"integer"},"transferLimit":{"type":"bigint"},"type":{"type":"string","enum":["standard","personal"],"description":"Distinguishes a standard team from a private space (`personal`). Only returned when requested via\n`cols[]=type`. Private spaces are included in the list only when `includePrivateSpaces=true`.\n"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"default-cols":{"summary":"Gets the list of teams","description":"Gets the list of teams in the organization with specified `organizationId`","teams":[{"id":5,"name":"My Team","organizationId":5}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}},"all-cols":{"summary":"Gets the list of teams with all the data","description":"Gets the list of teams with all the data in the organization with specified `organizationId`","teams":[{"id":5,"name":"My Team","organizationId":5,"operationsLimit":10000,"transferLimit":"100","consumedOperations":10,"consumedTransfer":"100","isPaused":false,"consumedCenticredits":1000}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}},"with-private-spaces":{"summary":"Gets teams and the caller's private space","description":"With `includePrivateSpaces=true` and `cols[]=type`, the caller's private space is\nreturned alongside standard teams and can be told apart by its `type` of `personal`.\n","teams":[{"id":5,"name":"My Team","organizationId":5,"type":"standard"},{"id":42,"name":"My private space","organizationId":5,"type":"personal"}],"pg":{"sortBy":"name","sortDir":"asc","limit":10000,"offset":0}}}}}}}},"post":{"tags":["Teams"],"summary":"Create a team","description":"Create a new team in the organization with the specified `organizationId`.","security":[{"token":["teams:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the team."},"organizationId":{"type":"integer","description":"The ID of the organization."},"operationsLimit":{"type":"integer","minimum":0,"maximum":2000000000,"description":"The maximum number of operations allowed for the team. The maximum matches the highest number of credits an organization can be licensed for."}},"required":["name","organizationId"]},"example":{"name":"New Team","organizationId":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"organizationId":{"type":"integer"},"activeScenarios":{"type":"integer","description":"Number of active scenarios in the team. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"activeApps":{"type":"integer","description":"Number of distinct apps that need a connection, used by the team's active scenarios. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"operationsLimit":{"type":"integer"},"transferLimit":{"type":"bigint"},"type":{"type":"string","enum":["standard","personal"],"description":"Distinguishes a standard team from a private space (`personal`). Only returned when requested via\n`cols[]=type`. Private spaces are included in the list only when `includePrivateSpaces=true`.\n"}}},"userTeamRole":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}}}},"example":{"team":{"id":26,"name":"New Team","organizationId":1,"operationsLimit":1,"transferLimit":"536870","globalAgentsEnabled":false},"userTeamRole":{"usersRoleId":1,"userId":1,"teamId":26,"changeable":false}}}}}}}},"/teams/{teamId}":{"get":{"tags":["Teams"],"summary":"Get team details","description":"Returns information about the team with the specified `teamId`.","security":[{"token":["teams:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["id","name","organizationId","activeScenarios","activeApps","operations","transfer","centicredits","operationsLimit","transferLimit","consumedOperations","consumedTransfer","isPaused","consumedCenticredits","type"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"organizationId":{"type":"integer"},"activeScenarios":{"type":"integer","description":"Number of active scenarios in the team. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"activeApps":{"type":"integer","description":"Number of distinct apps that need a connection, used by the team's active scenarios. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"operationsLimit":{"type":"integer"},"transferLimit":{"type":"bigint"},"type":{"type":"string","enum":["standard","personal"],"description":"Distinguishes a standard team from a private space (`personal`). Only returned when requested via\n`cols[]=type`. Private spaces are included in the list only when `includePrivateSpaces=true`.\n"}}}}},"examples":{"default-cols":{"summary":"Get detail of a team","description":"Gets detail information about the specified team.","value":{"team":{"id":1,"name":"Team 1","organizationId":1,"globalAgentsEnabled":false}}},"all-cols":{"summary":"Get all team data","description":"Gets all available information about the team.","value":{"team":{"id":1,"name":"Team 1","organizationId":1,"activeScenarios":1,"activeApps":0,"operations":"2015","transfer":"27914902","centicredits":"201500","operationsLimit":10000,"transferLimit":"100","consumedOperations":10,"consumedTransfer":"100","isPaused":false,"consumedCenticredits":1000,"type":"standard"}}}}}}}}},"patch":{"tags":["Teams"],"summary":"Update a team","description":"Updates information about the team with the specified `teamId`.","security":[{"token":["teams:write"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["id","name","organizationId","activeScenarios","activeApps","operations","transfer","centicredits","operationsLimit","transferLimit","consumedOperations","consumedTransfer","isPaused","consumedCenticredits","type"]}}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":128,"description":"The new name of the team."},"operationsLimit":{"type":"integer","nullable":true,"minimum":0,"maximum":2000000000,"description":"The maximum number of operations allowed for the team. The maximum matches the highest number of credits an organization can be licensed for. `null` removes the limit."},"scenarioDrafts":{"type":"boolean","deprecated":true,"description":"This property is deprecated. It is only supported on private instances and ignored on Make's public cloud.\n"}}},"example":{"name":"Sales people team","operationsLimit":10000}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"team":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"organizationId":{"type":"integer"},"activeScenarios":{"type":"integer","description":"Number of active scenarios in the team. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"activeApps":{"type":"integer","description":"Number of distinct apps that need a connection, used by the team's active scenarios. Only returned by `GET /teams/{teamId}` when requested via `cols[]`."},"operationsLimit":{"type":"integer"},"transferLimit":{"type":"bigint"},"type":{"type":"string","enum":["standard","personal"],"description":"Distinguishes a standard team from a private space (`personal`). Only returned when requested via\n`cols[]=type`. Private spaces are included in the list only when `includePrivateSpaces=true`.\n"}}}}},"examples":{"default-cols":{"summary":"Update a team","description":"Updates the specified team.","value":{"team":{"id":22,"name":"Sales people team","organizationId":1,"globalAgentsEnabled":false}}},"all-cols":{"summary":"Update a team and return all data","description":"Updates the specified team and returns all available team data.","value":{"team":{"id":22,"name":"Sales people team","organizationId":1,"activeScenarios":1,"activeApps":0,"operations":"2015","transfer":"27914902","centicredits":"201500","operationsLimit":10000,"transferLimit":"100","consumedOperations":10,"consumedTransfer":"100","isPaused":false,"consumedCenticredits":1000,"type":"standard"}}}}}}}}},"delete":{"tags":["Teams"],"summary":"Delete a team","description":"Deletes the team with the specified `teamId`. Make also deletes all data associated with the team, for example scenarios, webhooks or custom team variables.","security":[{"token":["teams:write"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"example":true,"description":"Set this parameter to `true` to confirm the team deletion. Otherwise, the API call returns an error and the team is not deleted."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"team":{"type":"integer"}}},"example":{"team":22}}}}}}},"/teams/{teamId}/user-team-roles":{"get":{"tags":["Teams / User team roles"],"summary":"List user roles in the team","description":"Gets list of all users and their roles in the team with the specified `teamId`. Get all user role IDs with the API call `GET /users/roles`.","security":[{"token":["teams:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamRoles":{"type":"array","items":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}}}}},"example":{"userTeamRoles":[{"usersRoleId":1,"userId":1,"teamId":1,"changeable":false},{"usersRoleId":3,"userId":13,"teamId":1,"changeable":true}]}}}}}}},"/teams/{teamId}/user-team-roles/{userId}":{"get":{"tags":["Teams / User team roles"],"summary":"Get user team role details","description":"Retrieves information about user role in a team with the specified `userId` and `teamId`. Get all user role IDs with the API call `GET users/roles`.","security":[{"token":["teams:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the team.","example":22},{"name":"userId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the user.","example":111},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamRole":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}}}},"example":{"userTeamRole":{"usersRoleId":3,"userId":12,"teamId":1,"changeable":true}}}}}}}},"/teams/{teamId}/variables":{"get":{"tags":["Teams"],"summary":"List team variables","description":"Retrieves the collection of team variables. The response contains all team variables if your account has the custom variables feature available. Otherwise, the response contains only Make system variables.\n\nCheck availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["team-variables:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"teamVariables":{"type":"object","properties":{"typeId":{"type":"integer"},"name":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"isSystem":{"type":"boolean"}}}}},"example":{"teamVariables":{"name":"userId","typeId":1,"value":123,"isSystem":false}}}}}}},"post":{"tags":["Teams"],"summary":"Create team variable","description":"Creates new team variable. You can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the API call response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nA successful response contains all information about the new variable. If you don't have the custom variables feature available then the API call returns the error 404.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["team-variables:write"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"typeId":{"type":"number","description":"Number representing the type of the custom variable. The mapping of `typeId` and variable types is as follows:\n\n- 1: `number`,\n - 2: `string`,\n - 3: `boolean`,\n - 4: `date`in ISO 8601 compliant format `YYYY-MM-DDTHH:mm:ss.sssZ`. For example: `1998-03-06T12:31:00.000Z`."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"Value assigned to the custom variable."},"name":{"type":"string","description":"The name of the variable. You can use letters, digits, `$` and `_` characters in the custom variable name."}}},"example":{"typeId":1,"value":123,"name":"userId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"teamVariable":{"type":"object","properties":{"typeId":{"type":"integer"},"name":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"isSystem":{"type":"boolean"}}}}},"example":{"teamVariable":{"name":"userId","typeId":1,"value":123,"isSystem":false}}}}}}}},"/teams/{teamId}/variables/{variableName}":{"patch":{"tags":["Teams"],"summary":"Update team variable","description":"Updates custom team variable with the specified variable `name`. Only parameters specified in the request body are updated.\n\nYou can check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization to which the team belongs. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nA successful response contains all information about the updated variable. If you don't have the custom variables feature available then the API call returns the error 404.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for the Make pricing plans overview.\n\nUpdate the variable `typeId` accordingly when you are updating the variable `value`. Make checks whether the variable type and value match in the request body. There is no check for incorrect variable type when you update only variable value and _vice versa_.","security":[{"token":["team-variables:write"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"variableName","in":"path","schema":{"type":"string"},"required":true,"description":"The name of the custom variable.","example":"userID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"typeId":{"type":"number","description":"Number representing the type of the custom variable. The mapping of `typeId` and variable types is as follows:\n\n- 1: `number`,\n - 2: `string`,\n - 3: `boolean`,\n - 4: `date`in ISO 8601 compliant format `YYYY-MM-DDTHH:mm:ss.sssZ`. For example: `1998-03-06T12:31:00.000Z`."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"Value assigned to the custom variable."}}},"example":{"value":221}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"teamVariable":{"type":"object","properties":{"typeId":{"type":"integer"},"name":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"isSystem":{"type":"boolean"}}}}},"example":{"teamVariable":{"name":"userId","typeId":1,"value":251}}}}}}},"delete":{"tags":["Teams"],"summary":"Delete team variable","description":"Deletes team variable.\n\nIf you don't have the custom variables feature available then the API call returns error 404. Check the availability of the custom variables feature with the API call `GET /organizations/{organizationId}` for the organization in which the team belongs. If the response contains `\"customVariables\": true` pair in the `license` object then you have access to the custom variables feature.\n\nRefer to the [Make pricing page](https://www.make.com/en/help/general/pricing-parameters) for Make pricing plans overview.","security":[{"token":["team-variables:write"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"variableName","in":"path","schema":{"type":"string"},"required":true,"description":"The name of the custom variable.","example":"userID"},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"Set to `true` to confirm deleting the custom variable. Otherwise the API call fails with the error IM004 (406).","example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/teams/{teamId}/variables/{variableName}/history":{"get":{"tags":["Teams"],"summary":"History of custom variable updates","description":"Gets the history of updates of the specified custom variable. The response contains the ID value of the variable history entry and a `diffObject`. The `diffObject` contains:\n\n- the original value,\n - the new value,\n - the timestamp of the update,\n - the author of the update.\n\nIf the variable doesn't have any updates, the `diffObject` contains the current value of the variable instead of the original and new values.\n\nThe update history entries are sorted from newest to latest.","security":[{"token":["team-variables:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"variableName","in":"path","schema":{"type":"string"},"required":true,"description":"The name of the custom variable.","example":"userID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"teamVariableHistory":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"integer"},"diffObject":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"typeId":{"type":"integer"}}},"changed":{"type":"string","format":"date"},"action":{"type":"string","description":"organization_variable_created or organization_variable_edited or team_variable_created or team_variable_edited"},"author":{"type":"string"}}},{"type":"object","properties":{"id":{"type":"integer"},"diffObject":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"typeId":{"type":"integer"}}},"changed":{"type":"string","format":"date"},"action":{"type":"string"},"author":{"type":"string"}}}]}}}},"example":{"teamVariableHistory":[{"id":1,"diffObject":{"name":"userId","value":11,"typeId":1},"changed":"2022-08-02T09:37:05.364Z","action":"team_variable_created","author":"Jon Doe"},{"id":2,"diffObject":{"old":{"value":11,"typeId":1},"new":{"value":23,"typeId":1}},"changed":"2022-08-02T09:37:05.364Z","action":"team_variable_edited","author":"Jon Doe"}]}}}}}}},"/teams/{teamId}/usage":{"get":{"tags":["Teams"],"summary":"Get team usage","description":"Retrieves a list of daily centicredits, operations, and data transfer usage for all scenarios within a specified team over the past 30 days.\n\nBy default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe.\n\nTo use the organization's timezone instead, set the `organizationTimezone` parameter to `true`. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours.\n\nFor instance, a remote data analyst in India working for a Czech company can set `organizationTimezone=true` to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis.\n\nFor more information on timezones in Make, please refer to our [Help Center article](https://www.make.com/en/help/general/manage-time-zones).\n","security":[{"token":["teams:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22},{"name":"organizationTimezone","in":"query","schema":{"type":"boolean"},"required":false,"description":"When set to `true`, the endpoint will calculate and return usage data based on the organization's timezone instead of the user's local timezone.","example":true}],"responses":{"200":{"description":"Successfully retrieved usage data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"operations":{"type":"integer"},"dataTransfer":{"type":"integer"},"centicredits":{"type":"bigint"}}}}}},"example":{"data":[{"date":"2024-05-30","operations":9,"dataTransfer":135,"centicredits":900},{"date":"2024-05-31","operations":15,"dataTransfer":157,"centicredits":1500}]}}}}}}},"/teams/{teamId}/feature-controls":{"get":{"tags":["Teams"],"summary":"Get feature controls of an organization which the team belongs to","description":"Retrieves all feature controls for the specified organization which the team belongs to.\n","parameters":[{"name":"teamId","in":"path","description":"The ID of the team.","schema":{"type":"integer"},"required":true,"example":11},{"name":"featureControlName","in":"query","description":"The feature control name.","schema":{"type":"string"},"required":false,"example":"Make AI Tools"},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","required":false}],"responses":{"200":{"description":"Successfully retrieved feature controls","content":{"application/json":{"schema":{"type":"object","properties":{"enableAllControlFeatures":{"type":"boolean"},"featureControls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"label":{"type":"object"},"description":{"type":"object"},"tags":{"type":"array","items":{"type":"string"}},"warning_message":{"type":"object"},"enabled":{"type":"boolean"}}}}}},"example":{"enableAllControlFeatures":false,"featureControls":[{"id":2,"name":"Make AI Tools","label":{"en":"Make AI Tools"},"description":{"en":"Access to Make AI Tools"},"tags":["Beta"],"warning_message":{"en":"This feature is in beta."},"enabled":true},{"id":1,"name":"Advanced Security","label":{"en":"Advanced AI Security"},"description":{"en":"Enhanced security features for your organization"},"tags":["AI"],"warning_message":{"en":"This feature uses AI."},"enabled":false}]}}}}}}},"/teams/{teamId}/connections/{connectionId}/access-list":{"get":{"tags":["Connections / Access list"],"summary":"List a connection's access list","description":"Returns the access list (entity ACL) of a connection — the principals granted a role on it.\n\nA caller holding the `entity use` permission on the connection sees every member; any other member of the connection's team sees only the Entity Admins. The connection must belong to the team in the path.\n\nRequires the locked connections feature to be enabled for the organization the team belongs to; otherwise the endpoint returns `400` (`IM903`).","security":[{"token":["connections:read"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the connection.","example":1},{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"responses":{"200":{"description":"The access-list members visible to the caller.","content":{"application/json":{"schema":{"type":"object","properties":{"accessList":{"type":"array","description":"The access-list members visible to the caller.","items":{"type":"object","description":"A single access-list member — a principal with its entity-tier role and, for users, display fields.","required":["membershipType","membershipId","role"],"properties":{"membershipType":{"type":"string","enum":["user","group"],"description":"The kind of principal. Always `user` in the current version.","example":"user"},"membershipId":{"type":"integer","description":"The principal's id. For a `user` principal this is the user id.","example":128},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The principal's entity-tier role on the connection or key.","example":"entity:entity-admin"},"name":{"type":"string","nullable":true,"description":"Display name of the user. Null for non-user principals or an unknown user.","example":"Jane Doe"},"email":{"type":"string","nullable":true,"description":"Email of the user. Null for non-user principals.","example":"jane.doe@example.com"}}},"example":[{"membershipType":"user","membershipId":128,"role":"entity:entity-admin","name":"Jane Doe","email":"jane.doe@example.com"},{"membershipType":"user","membershipId":214,"role":"entity:entity-member","name":"John Smith","email":"john.smith@example.com"}]}}}}}},"400":{"description":"The locked connections feature is not enabled for the organization (`IM903`)."},"403":{"description":"The caller is not allowed to view this access list (`IM002`)."},"404":{"description":"The connection does not exist in the given team (`IM304`)."}}}},"/teams/{teamId}/keys/{keyId}/access-list":{"get":{"tags":["Keys / Access list"],"summary":"List a key's access list","description":"Returns the access list (entity ACL) of a key — the principals granted a role on it.\n\nA caller holding the `entity use` permission on the key sees every member; any other member of the key's team sees only the Entity Admins. The key must belong to the team in the path.\n\nRequires the locked connections feature to be enabled for the organization the team belongs to; otherwise the endpoint returns `400` (`IM903`).","security":[{"token":["keys:read"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the key.","example":1},{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16}],"responses":{"200":{"description":"The access-list members visible to the caller.","content":{"application/json":{"schema":{"type":"object","properties":{"accessList":{"type":"array","description":"The access-list members visible to the caller.","items":{"type":"object","description":"A single access-list member — a principal with its entity-tier role and, for users, display fields.","required":["membershipType","membershipId","role"],"properties":{"membershipType":{"type":"string","enum":["user","group"],"description":"The kind of principal. Always `user` in the current version.","example":"user"},"membershipId":{"type":"integer","description":"The principal's id. For a `user` principal this is the user id.","example":128},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The principal's entity-tier role on the connection or key.","example":"entity:entity-admin"},"name":{"type":"string","nullable":true,"description":"Display name of the user. Null for non-user principals or an unknown user.","example":"Jane Doe"},"email":{"type":"string","nullable":true,"description":"Email of the user. Null for non-user principals.","example":"jane.doe@example.com"}}},"example":[{"membershipType":"user","membershipId":128,"role":"entity:entity-admin","name":"Jane Doe","email":"jane.doe@example.com"},{"membershipType":"user","membershipId":214,"role":"entity:entity-member","name":"John Smith","email":"john.smith@example.com"}]}}}}}},"400":{"description":"The locked connections feature is not enabled for the organization (`IM903`)."},"403":{"description":"The caller is not allowed to view this access list (`IM002`)."},"404":{"description":"The key does not exist in the given team (`IM309`)."}}}},"/teams/{teamId}/connections/{connectionId}/access-list/users":{"post":{"tags":["Connections / Access list"],"summary":"Add a member to a connection's access list","description":"Adds a user to a connection's access list (entity ACL) with a role.\n\nRequires `entity manage` on the connection, and the target user must already be a member of the connection's team. Returns `409` when the user is already on the access list and `400` when they are not a team member or the feature is disabled.","security":[{"token":["connections:write"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the connection.","example":1},{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userId","role"],"properties":{"userId":{"type":"integer","minimum":1,"description":"The id of the user to add. Must already be a member of the entity's team.","example":214},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The entity-tier role to grant the user on the connection or key.","example":"entity:entity-member"}}},"example":{"userId":214,"role":"entity:entity-member"}}}},"responses":{"200":{"description":"The created access-list member.","content":{"application/json":{"schema":{"type":"object","properties":{"member":{"type":"object","description":"A single access-list member — a principal with its entity-tier role and, for users, display fields.","required":["membershipType","membershipId","role"],"properties":{"membershipType":{"type":"string","enum":["user","group"],"description":"The kind of principal. Always `user` in the current version.","example":"user"},"membershipId":{"type":"integer","description":"The principal's id. For a `user` principal this is the user id.","example":128},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The principal's entity-tier role on the connection or key.","example":"entity:entity-admin"},"name":{"type":"string","nullable":true,"description":"Display name of the user. Null for non-user principals or an unknown user.","example":"Jane Doe"},"email":{"type":"string","nullable":true,"description":"Email of the user. Null for non-user principals.","example":"jane.doe@example.com"}}}}},"example":{"member":{"membershipType":"user","membershipId":214,"role":"entity:entity-member","name":"John Smith","email":"john.smith@example.com"}}}}},"400":{"description":"The locked connections and keys feature is disabled (`IM903`), or the user is not a team member / the role is invalid (`IM005`)."},"403":{"description":"The caller lacks `entity manage` on the connection (`IM002`)."},"404":{"description":"The connection does not exist in the given team (`IM304`)."},"409":{"description":"The user is already on the connection's access list (`SC409`)."}}}},"/teams/{teamId}/keys/{keyId}/access-list/users":{"post":{"tags":["Keys / Access list"],"summary":"Add a member to a key's access list","description":"Adds a user to a key's access list (entity ACL) with a role.\n\nRequires `entity manage` on the key, and the target user must already be a member of the key's team. Returns `409` when the user is already on the access list and `400` when they are not a team member or the feature is disabled.","security":[{"token":["keys:write"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the key.","example":1},{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userId","role"],"properties":{"userId":{"type":"integer","minimum":1,"description":"The id of the user to add. Must already be a member of the entity's team.","example":214},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The entity-tier role to grant the user on the connection or key.","example":"entity:entity-member"}}},"example":{"userId":214,"role":"entity:entity-member"}}}},"responses":{"200":{"description":"The created access-list member.","content":{"application/json":{"schema":{"type":"object","properties":{"member":{"type":"object","description":"A single access-list member — a principal with its entity-tier role and, for users, display fields.","required":["membershipType","membershipId","role"],"properties":{"membershipType":{"type":"string","enum":["user","group"],"description":"The kind of principal. Always `user` in the current version.","example":"user"},"membershipId":{"type":"integer","description":"The principal's id. For a `user` principal this is the user id.","example":128},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The principal's entity-tier role on the connection or key.","example":"entity:entity-admin"},"name":{"type":"string","nullable":true,"description":"Display name of the user. Null for non-user principals or an unknown user.","example":"Jane Doe"},"email":{"type":"string","nullable":true,"description":"Email of the user. Null for non-user principals.","example":"jane.doe@example.com"}}}}},"example":{"member":{"membershipType":"user","membershipId":214,"role":"entity:entity-member","name":"John Smith","email":"john.smith@example.com"}}}}},"400":{"description":"The locked connections and keys feature is disabled (`IM903`), or the user is not a team member / the role is invalid (`IM005`)."},"403":{"description":"The caller lacks `entity manage` on the key (`IM002`)."},"404":{"description":"The key does not exist in the given team (`IM309`)."},"409":{"description":"The user is already on the key's access list (`SC409`)."}}}},"/teams/{teamId}/connections/{connectionId}/access-list/users/{userId}":{"patch":{"tags":["Connections / Access list"],"summary":"Change a connection access-list member's role","description":"Changes the entity-tier role of a user already on a connection's access list.\n\nRequires `entity manage`. Returns `404` if the user is not on the access list, and `409` if the change would demote the connection's last Entity Admin.","security":[{"token":["connections:write"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the connection.","example":1},{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the user whose role to change.","example":214}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The entity-tier role to set for the user on the connection or key.","example":"entity:entity-admin"}}},"example":{"role":"entity:entity-admin"}}}},"responses":{"200":{"description":"The updated access-list member.","content":{"application/json":{"schema":{"type":"object","properties":{"member":{"type":"object","description":"A single access-list member — a principal with its entity-tier role and, for users, display fields.","required":["membershipType","membershipId","role"],"properties":{"membershipType":{"type":"string","enum":["user","group"],"description":"The kind of principal. Always `user` in the current version.","example":"user"},"membershipId":{"type":"integer","description":"The principal's id. For a `user` principal this is the user id.","example":128},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The principal's entity-tier role on the connection or key.","example":"entity:entity-admin"},"name":{"type":"string","nullable":true,"description":"Display name of the user. Null for non-user principals or an unknown user.","example":"Jane Doe"},"email":{"type":"string","nullable":true,"description":"Email of the user. Null for non-user principals.","example":"jane.doe@example.com"}}}}},"example":{"member":{"membershipType":"user","membershipId":214,"role":"entity:entity-admin","name":"John Smith","email":"john.smith@example.com"}}}}},"400":{"description":"The locked connections and keys feature is disabled (`IM903`), or the role is invalid (`IM005`)."},"403":{"description":"The caller lacks `entity manage` on the connection (`IM002`)."},"404":{"description":"The connection is not in the team, or the user is not on its access list (`IM304` / `SC404`)."},"409":{"description":"The change would leave the connection without an Entity Admin (`SC409`)."}}},"delete":{"tags":["Connections / Access list"],"summary":"Remove a member from a connection's access list","description":"Removes a user from a connection's access list.\n\nRequires `entity manage`. Returns `404` if the user is not on the access list, and `409` if removing them would leave the connection without an Entity Admin.","security":[{"token":["connections:write"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the connection.","example":1},{"name":"connectionId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the connection. You can get connection ID's of all your connections with the the [List connections](./get--connections.md) endpoint.","example":128},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the user to remove.","example":214}],"responses":{"204":{"description":"The user was removed from the access list."},"400":{"description":"The locked connections and keys feature is disabled (`IM903`)."},"403":{"description":"The caller lacks `entity manage` on the connection (`IM002`)."},"404":{"description":"The connection is not in the team, or the user is not on its access list (`IM304` / `SC404`)."},"409":{"description":"Removing the user would leave the connection without an Entity Admin (`SC409`)."}}}},"/teams/{teamId}/keys/{keyId}/access-list/users/{userId}":{"patch":{"tags":["Keys / Access list"],"summary":"Change a key access-list member's role","description":"Changes the entity-tier role of a user already on a key's access list.\n\nRequires `entity manage`. Returns `404` if the user is not on the access list, and `409` if the change would demote the key's last Entity Admin.","security":[{"token":["keys:write"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the key.","example":1},{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the user whose role to change.","example":214}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The entity-tier role to set for the user on the connection or key.","example":"entity:entity-admin"}}},"example":{"role":"entity:entity-admin"}}}},"responses":{"200":{"description":"The updated access-list member.","content":{"application/json":{"schema":{"type":"object","properties":{"member":{"type":"object","description":"A single access-list member — a principal with its entity-tier role and, for users, display fields.","required":["membershipType","membershipId","role"],"properties":{"membershipType":{"type":"string","enum":["user","group"],"description":"The kind of principal. Always `user` in the current version.","example":"user"},"membershipId":{"type":"integer","description":"The principal's id. For a `user` principal this is the user id.","example":128},"role":{"type":"string","enum":["entity:entity-admin","entity:entity-member"],"description":"The principal's entity-tier role on the connection or key.","example":"entity:entity-admin"},"name":{"type":"string","nullable":true,"description":"Display name of the user. Null for non-user principals or an unknown user.","example":"Jane Doe"},"email":{"type":"string","nullable":true,"description":"Email of the user. Null for non-user principals.","example":"jane.doe@example.com"}}}}},"example":{"member":{"membershipType":"user","membershipId":214,"role":"entity:entity-admin","name":"John Smith","email":"john.smith@example.com"}}}}},"400":{"description":"The locked connections and keys feature is disabled (`IM903`), or the role is invalid (`IM005`)."},"403":{"description":"The caller lacks `entity manage` on the key (`IM002`)."},"404":{"description":"The key is not in the team, or the user is not on its access list (`IM309` / `SC404`)."},"409":{"description":"The change would leave the key without an Entity Admin (`SC409`)."}}},"delete":{"tags":["Keys / Access list"],"summary":"Remove a member from a key's access list","description":"Removes a user from a key's access list.\n\nRequires `entity manage`. Returns `404` if the user is not on the access list, and `409` if removing them would leave the key without an Entity Admin.","security":[{"token":["keys:write"]}],"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the team that owns the key.","example":1},{"name":"keyId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the key.","example":16},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the user to remove.","example":214}],"responses":{"204":{"description":"The user was removed from the access list."},"400":{"description":"The locked connections and keys feature is disabled (`IM903`)."},"403":{"description":"The caller lacks `entity manage` on the key (`IM002`)."},"404":{"description":"The key is not in the team, or the user is not on its access list (`IM309` / `SC404`)."},"409":{"description":"Removing the user would leave the key without an Entity Admin (`SC409`)."}}}},"/templates":{"get":{"tags":["Templates"],"summary":"List templates","description":"Retrieves a collection of all templates for a team with a given ID. Returned templates are sorted by ID in ascending order.","security":[{"token":["templates:read"]}],"parameters":[{"name":"teamId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the team whose templates will be retrieved.","example":1},{"name":"public","in":"query","schema":{"type":"boolean"},"description":"Indicates if the template is public which means that it was published and approved, and can be accessed by anyone.","example":true},{"name":"usedApps[]","in":"query","schema":{"type":"array","items":{"type":"string"}},"example":["http"],"description":"The array with the text IDs of the apps used in the templates. This parameter allows you to get only the templates containing specific apps."},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the names and IDs of the templates."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"templates":[{"id":61,"name":"Private","teamId":1,"description":"Template description","usedApps":["http"],"public":false,"published":null,"approved":null,"approvedId":null,"requestedApproval":false,"publishedId":null,"publicUrl":null,"approvedName":null,"publishedName":null},{"id":65,"name":"Published","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-12-01T14:14:53.807Z","approved":null,"approvedId":null,"requestedApproval":false,"publishedId":39,"publicUrl":"39-published","approvedName":null,"publishedName":"Published"},{"id":56,"name":"Published, approved","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-11-10T14:08:29.084Z","approved":"2020-12-03T09:44:55.685Z","approvedId":35,"requestedApproval":false,"publishedId":null,"publicUrl":"32-published-approved","approvedName":"Published, approved","publishedName":null},{"id":64,"name":"Published, approved, waiting for approval","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-12-01T15:18:31.790Z","approved":"2020-12-02T09:44:42.045Z","approvedId":38,"requestedApproval":true,"publishedId":40,"publicUrl":"37-published-approved-waiting-for-approval","approvedName":"Published, approved, waiting for approval","publishedName":"Published, approved, waiting for approval"},{"id":62,"name":"Published, waiting for approval","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-11-23T12:22:36.495Z","approved":null,"approvedId":null,"requestedApproval":true,"publishedId":36,"publicUrl":"36-published-waiting-for-approval","approvedName":null,"publishedName":"Published, waiting for approval"}],"pg":{"sortBy":"name","limit":10,"sortDir":"asc","offset":0}}}}}}},"post":{"tags":["Templates"],"summary":"Create template","description":"Creates a new template with data passed in the request body. In the response, it returns all details of the created template.","security":[{"token":["templates:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"integer","description":"The unique numeric ID of the team in which the template will be created."},"language":{"type":"string","description":"The language of the template determining in which language template details such as module names will be displayed. This property also impacts the visibility of the created template and cannot be changed later."},"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}},"description":"The full blueprint of the scenario or template. It contains information about the general setup and all included apps and modules, and their settings."},"scheduling":{"description":"The scheduling details of the template.","type":"object","properties":{"type":{"type":"string","enum":["immediately","indefinitely","once","daily","weekly","monthly","yearly"]},"interval":{"type":"integer","minimum":0},"date":{"type":"string","format":"date-time"},"between":{"type":"array","items":{"type":"string","format":"date-time"}},"time":{"type":"string","pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}},"restrict":{"type":"array","items":{"type":"object","properties":{"time":{"type":"array","items":{"type":"string","nullable":true,"pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"}},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}}}}},"maximum_runs_per_minute":{"type":"integer","nullable":true,"minimum":1,"maximum":10000}}},"controller":{"description":"The controller of the template. This property refers to wizards that can be added to each module in the template from the Make interface. The wizards contain short instructions for other users explaining how to use the template step by step.","type":"object","properties":{"name":{"type":"string","maxLength":120,"minLength":1},"description":{"type":"string","maxLength":1500,"minLength":0},"idSequence":{"type":"integer"},"modules":{"type":"object"}}}}},"example":{"teamId":1,"language":"en","blueprint":"{\"flow\":[{\"id\":1,\"module\":\"http:ActionGetFile\",\"version\":3,\"parameters\":{\"handleErrors\":false},\"mapper\":{\"url\":\"https://google.com\",\"method\":\"get\",\"shareCookies\":false},\"metadata\":{\"designer\":{\"x\":0,\"y\":0},\"parameters\":[{\"name\":\"handleErrors\",\"label\":\"Evaluate all states as errors (except for 2xx and 3xx )\",\"type\":\"boolean\",\"required\":true}],\"expect\":[{\"name\":\"url\",\"label\":\"URL\",\"type\":\"url\",\"required\":true},{\"name\":\"method\",\"label\":\"Method\",\"type\":\"hidden\"},{\"name\":\"shareCookies\",\"label\":\"Share cookies with other HTTP modules\",\"type\":\"boolean\",\"required\":true}]}}],\"metadata\":{\"version\":1,\"scenario\":{\"roundtrips\":1,\"maxErrors\":3,\"autoCommit\":true,\"autoCommitTriggerLast\":true,\"sequential\":false,\"confidential\":false,\"dataloss\":false,\"dlq\":false, \"freshVariables\": false},\"designer\":{\"orphans\":[]}}}","scheduling":"{\"type\":\"indefinitely\",\"interval\":900}","controller":"{\"modules\":{},\"name\":\"New template\",\"idSequence\":2}"}}}},"parameters":[{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only names and IDs of the newly created template.","example":["id","name"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}}}},"example":{"template":{"id":67,"name":"New template","teamId":1,"description":null,"usedApps":["http"],"public":false,"published":null,"approved":null,"approvedId":null,"requestedApproval":false,"publishedId":null,"publicUrl":null,"approvedName":null,"publishedName":null}}}}},"403":{"description":"Either the user lacks the `template add` permission in `teamId` (`IM002`), or a module in the blueprint places a locked connection or key the user is not allowed to use (`IM002`, placement guard). The placement-guard rejection is returned only when locked-entities enforcement is enabled for the organization; templates have no per-save baseline to grandfather against, so every such placement is rejected.\n"}}}},"/templates/{templateId}":{"get":{"tags":["Templates"],"summary":"Get template details","description":"Retrieves details of a template with a given ID.","security":[{"token":["templates:read"]}],"parameters":[{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the ID and name of the template.","examples":{"id-name":{"summary":"Return ID and name","value":["id","name"]},"all-columns":{"summary":"Return all details","value":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}}}},"examples":{"id-name":{"summary":"Return ID and name","description":"Returns ID and name of the template","value":{"template":{"id":164,"name":"Published, approved, waiting for approval"}}},"all-columns":{"summary":"Return all details","description":"Returns all details of the template","value":{"template":{"id":164,"name":"Published, approved, waiting for approval","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-12-01T15:18:31.790Z","approved":"2020-12-02T09:44:42.045Z","approvedId":38,"requestedApproval":true,"publishedId":40,"publicUrl":"37-published-approved-waiting-for-approval","approvedName":"Published, approved, waiting for approval","publishedName":"Published, approved, waiting for approval"}}}}}}}}},"patch":{"tags":["Templates"],"summary":"Update template","description":"Updates a template with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated template including properties that were not changed.","security":[{"token":["templates:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the template. The name does not need to be unique."},"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}},"description":"The full blueprint of the template. It contains information about the general setup and all included apps and modules, and their settings."},"scheduling":{"description":"The scheduling details of the template.","type":"object","properties":{"type":{"type":"string","enum":["immediately","indefinitely","once","daily","weekly","monthly","yearly"]},"interval":{"type":"integer","minimum":0},"date":{"type":"string","format":"date-time"},"between":{"type":"array","items":{"type":"string","format":"date-time"}},"time":{"type":"string","pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}},"restrict":{"type":"array","items":{"type":"object","properties":{"time":{"type":"array","items":{"type":"string","nullable":true,"pattern":"^[0-2]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?(\\\\.[0-9]+)?$"}},"days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":31}},"months":{"type":"array","items":{"type":"integer","minimum":1,"maximum":12}}}}},"maximum_runs_per_minute":{"type":"integer","nullable":true,"minimum":1,"maximum":10000}}},"controller":{"description":"The controller of the template. This property refers to wizards that can be added to each module in the template from the Make interface. The wizards contain short instructions for other users explaining how to use the template step by step.","type":"object","properties":{"name":{"type":"string","maxLength":120,"minLength":1},"description":{"type":"string","maxLength":1500,"minLength":0},"idSequence":{"type":"integer"},"modules":{"type":"object"}}}}},"example":{"name":"Renamed template","blueprint":"{\"flow\":[{\"id\":1,\"module\":\"http:ActionGetFile\",\"version\":3,\"parameters\":{\"handleErrors\":false},\"mapper\":{\"url\":\"https://google.com\",\"method\":\"get\",\"shareCookies\":false},\"metadata\":{\"designer\":{\"x\":0,\"y\":0},\"parameters\":[{\"name\":\"handleErrors\",\"label\":\"Evaluate all states as errors (except for 2xx and 3xx )\",\"type\":\"boolean\",\"required\":true}],\"expect\":[{\"name\":\"url\",\"label\":\"URL\",\"type\":\"url\",\"required\":true},{\"name\":\"method\",\"label\":\"Method\",\"type\":\"hidden\"},{\"name\":\"shareCookies\",\"label\":\"Share cookies with other HTTP modules\",\"type\":\"boolean\",\"required\":true}]}}],\"metadata\":{\"version\":1,\"scenario\":{\"roundtrips\":1,\"maxErrors\":3,\"autoCommit\":true,\"autoCommitTriggerLast\":true,\"sequential\":false,\"confidential\":false,\"dataloss\":false,\"dlq\":false,\"freshVariables\": false},\"designer\":{\"orphans\":[]}}}","scheduling":"{\"type\":\"indefinitely\",\"interval\":900}","controller":"{\"modules\":{},\"name\":\"New template\",\"idSequence\":2}"}}}},"parameters":[{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},{"name":"templatePublicId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the public version of the approved template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint as one of the following IDs: `publishedId` for all published templates that are waiting for approval or not, or `approvedId` for approved templates.","example":18},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the description of the template.","example":["description"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}}}}},"example":{"template":[{"id":164,"name":"Renamed template","teamId":1,"description":null,"usedApps":["http"],"public":false,"published":null,"approved":null,"approvedId":null,"requestedApproval":false,"publishedId":null,"publicUrl":null,"approvedName":null,"publishedName":null}]}}}},"403":{"description":"Either the user lacks the `template edit` permission in the template's team (`IM002`), or a module in the blueprint places a locked connection or key the user is not allowed to use (`IM002`, placement guard). The placement-guard rejection is returned only when locked-entities enforcement is enabled for the organization; an untouched frozen module and releasing a locked entity (swapping it out or removing its module) always pass, and a teamless template is never guarded.\n"}}},"delete":{"tags":["Templates"],"summary":"Delete template","description":"Deletes a template with a given ID and returns the ID in the response.","security":[{"token":["templates:write"]}],"parameters":[{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"description":"Confirms the deletion of the private or published template. If the parameter is missing or it is set to `false` an error code is returned and the resource is not deleted. The public (approved) templates can only be deleted by administrators.","example":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"integer"}}},"example":{"template":164}}}}}}},"/templates/{templateId}/blueprint":{"get":{"tags":["Templates"],"summary":"Get template blueprint","description":"Retrieves a blueprint of a template with a given ID.","security":[{"token":["templates:read"]}],"parameters":[{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},{"name":"forUse","in":"query","schema":{"type":"boolean"},"description":"If this parameter is set to `true`, it means the blueprint should be used for creating a scenario from the template.","example":true},{"name":"forEdit","in":"query","schema":{"type":"boolean"},"description":"If this parameter is set to `true`, the blueprint is returned for editing the template: the values of the fields marked as \"Use in Wizard\" (for example connections) are filled in, and disabled or empty routes and agent tools are kept. Has no effect when `forUse` is `true`. Without either parameter, the values are filled in but disabled and empty routes and agent tools are left out.","example":true},{"name":"templatePublicId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the public version of the approved template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint as one of the following IDs: `publishedId` for all published templates that are waiting for approval or not, or `approvedId` for approved templates.","example":18}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}}},"controller":{"type":"object","properties":{"name":{"type":"string"},"modules":{"type":"object"},"idSequence":{"type":"integer"}}},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"language":{"type":"string"}}},"example":{"blueprint":{"flow":[{"id":1,"mapper":{"url":"https://seznam.cz","method":"get","shareCookies":false},"module":"http:ActionGetFile","version":3,"metadata":{"expect":[{"name":"url","type":"url","label":"URL","required":true},{"name":"method","type":"hidden","label":"Method"},{"name":"shareCookies","type":"boolean","label":"Share cookies with other HTTP modules","required":true}],"designer":{"x":0,"y":0},"parameters":[{"name":"handleErrors","type":"boolean","label":"Evaluate all states as errors (except for 2xx and 3xx )","required":true}]},"parameters":{"handleErrors":false}}],"metadata":{"version":1,"designer":{"orphans":[]},"scenario":{"dlq":false,"dataloss":false,"maxErrors":3,"autoCommit":true,"roundtrips":1,"sequential":false,"confidential":false,"autoCommitTriggerLast":true}}},"controller":{"name":"Template name","modules":{},"idSequence":2},"scheduling":{"type":"indefinitely","interval":1000},"language":"en"}}}}}}},"/templates/{templateId}/publish":{"post":{"tags":["Templates"],"summary":"Publish template","description":"Publishes a private template with a given ID. In the response, it returns all details of the template.","security":[{"token":["templates:write"]}],"requestBody":{"content":{}},"parameters":[{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the name and ID of the published template.","examples":{"id-name":{"summary":"id, name","value":["id","name"]},"all-columns":{"summary":"All columns","value":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}}}},"examples":{"all-columns":{"summary":"Return all details","description":"Returns all details of the published template","value":{"template":{"id":164,"name":"Renamed template","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-12-03T14:11:08.327Z","approved":null,"approvedId":null,"requestedApproval":false,"publishedId":48,"publicUrl":"48-renamed-template","approvedName":null,"publishedName":"Renamed template"}}},"id-name":{"summary":"Return ID and name","description":"Returns only ID and name of the published template","value":{"template":{"id":164,"name":"Renamed template"}}}}}}}}}},"/templates/{templateId}/request-approval":{"post":{"tags":["Templates"],"summary":"Request approval","description":"Requests approval of the published template with the given IDs of its private and published versions. In the response, it returns all details of the template.","security":[{"token":["templates:write"]}],"parameters":[{"name":"templateId","in":"path","schema":{"type":"integer"},"required":true,"description":"The unique ID of the private template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":164},{"name":"templatePublicId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the public version of the approved template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint as one of the following IDs: `publishedId` for all published templates that are waiting for approval or not, or `approvedId` for approved templates.","example":18},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the ID and name of the template you requested approval for.","examples":{"all-columns":{"summary":"All columns","value":["id","name","teamId","description","usedApps","public","published","approved","approvedId","requestedApproval","publishedId","publicUrl","approvedName","publishedName"]},"id-name":{"summary":"Id, name","value":["id","name"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"teamId":{"type":"integer"},"teamName":{"type":"string"},"organizationId":{"type":"string"},"description":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"},"published":{"type":"string","format":"date-time"},"approved":{"type":"string","format":"date-time"},"approvedId":{"type":"integer"},"requestedApproval":{"type":"boolean"},"publishedId":{"type":"integer"},"publicUrl":{"type":"string"},"approvedName":{"type":"string"},"publishedName":{"type":"string"}}}}},"examples":{"all-columns":{"summary":"Return all details","description":"Returns all details of the template requested to be approved","value":{"template":{"id":164,"name":"Renamed template","teamId":1,"description":null,"usedApps":["http"],"public":true,"published":"2020-12-03T14:11:08.327Z","approved":null,"approvedId":null,"requestedApproval":true,"publishedId":48,"publicUrl":"48-renamed-template","approvedName":null,"publishedName":"Renamed template"}}},"id-name":{"summary":"Return ID and name","description":"Returns only ID and name of the template requested to be approved","value":{"template":{"id":164,"name":"Renamed template"}}}}}}}}}},"/templates/public":{"get":{"tags":["Templates / Public"],"summary":"List public (approved) templates","description":"Retrieves a collection of all public (approved) templates that are available for anyone. Returned templates are sorted by usage in descending order.","security":[{"token":["templates:read"]}],"parameters":[{"name":"includeEn","in":"query","schema":{"type":"boolean"},"description":"If this parameter is set to `true`, it means English templates should be included in the response. This is relevant only if the user's language is not English.","example":true},{"name":"name","in":"query","schema":{"type":"string"},"description":"The name of the template. This parameter allows limiting returned results to the template(s) with the given name.","example":"my first template"},{"name":"usedApps[]","in":"query","schema":{"type":"array","items":{"type":"string"}},"example":["http"],"description":"The array with the text IDs of the apps used in the templates. This parameter allows you to get only the templates containing specific apps."},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","description","url","usedApps","usage"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only the names and IDs of the public templates."},{"name":"pg[sortBy]","in":"query","schema":{"type":"string"},"description":"The value that will be used to sort returned entities by."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"templatesPublic":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"usage":{"type":"integer"}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}},"example":{"templatesPublic":[{"id":13,"name":"Http template example","description":null,"url":"13-http-template-example","usedApps":["http"],"usage":321},{"id":17,"name":"Multiple apps template example","description":null,"url":"16-multiple-apps-template-example","usedApps":["discord","http","tools","util","gmail"],"usage":52}],"pg":{"sortBy":"usage","limit":100,"sortDir":"desc","offset":0}}}}}}}},"/templates/public/{templateUrl}":{"get":{"tags":["Templates / Public"],"summary":"Get public (approved) template details","description":"Retrieves details of a public (approved) template with a given `publicUrl`.","security":[{"token":["templates:read"]}],"parameters":[{"name":"templateUrl","in":"path","schema":{"type":"string"},"required":true,"description":"The unique URL of the public (approved) template consisting of the template ID and name. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":"16-multiple-apps-template-example"},{"name":"templatePublicId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the public version of the approved template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint as one of the following IDs: `publishedId` for all published templates that are waiting for approval or not, or `approvedId` for approved templates.","example":18},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","description","url","usedApps","usage"]}},"description":"Specifies the group of values to return. For example, you may want to retrieve only information about the apps used in the template."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"templatePublic":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"usedApps":{"type":"array","items":{"type":"string"}},"usage":{"type":"integer"}}}}},"example":{"templatePublic":{"id":18,"name":"Multiple apps template example","description":null,"url":"16-multiple-apps-template-example","usedApps":["discord","http","tools","util","gmail"],"usage":52}}}}}}}},"/templates/public/{templateUrl}/blueprint":{"get":{"tags":["Templates / Public"],"summary":"Get public (approved) template blueprint","description":"Retrieves a blueprint of a public (approved) template with a given `publicUrl`.","security":[{"token":["templates:read"]}],"parameters":[{"name":"templateUrl","in":"path","schema":{"type":"string"},"required":true,"description":"The unique URL of the public (approved) template consisting of the template ID and name. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint.","example":"16-multiple-apps-template-example"},{"name":"templatePublicId","in":"query","schema":{"type":"integer"},"description":"The unique ID of the public version of the approved template. It can be retrieved from the [List templates](/api-reference/templates/get--templates.md) endpoint as one of the following IDs: `publishedId` for all published templates that are waiting for approval or not, or `approvedId` for approved templates.","example":18}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"type":"object","properties":{"flow":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"ca":{"type":"string"},"qs":{"type":"array","items":{}},"url":{"type":"string","format":"uri"},"gzip":{"type":"boolean"},"method":{"type":"string"},"headers":{"type":"array","items":{}},"timeout":{"type":"string"},"authPass":{"type":"string"},"authUser":{"type":"string"},"bodyType":{"type":"string"},"shareCookies":{"type":"boolean"},"parseResponse":{"type":"boolean"},"followRedirect":{"type":"boolean"},"useQuerystring":{"type":"boolean"},"rejectUnauthorized":{"type":"boolean"}}},"module":{"type":"string","format":"uri"},"onerror":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"mapper":{"type":"object","properties":{"count":{"type":"string","format":"utc-millisec"},"retry":{"type":"boolean"},"interval":{"type":"string","format":"utc-millisec"}}},"module":{"type":"string","format":"uri"},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}},"restore":{"type":"object","properties":{"retry":{"type":"object","properties":{"mode":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}}}},"parameters":{"type":"object"}}}},"version":{"type":"integer"},"metadata":{"type":"object","properties":{"expect":{"type":"array","items":{"type":"object"}},"restore":{"type":"object","properties":{"qs":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"method":{"type":"object","properties":{"mode":{"type":"string"},"label":{"type":"string"}}},"headers":{"type":"object","properties":{"mode":{"type":"string"},"items":{"type":"array","items":{}}}},"bodyType":{"type":"object","properties":{"label":{"type":"string"}}}}},"designer":{"type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}}}}},"parameters":{"type":"object","properties":{"handleErrors":{"type":"boolean"}}}}}},"name":{"type":"string"},"metadata":{"type":"object","properties":{"version":{"type":"integer"},"scenario":{"type":"object","properties":{"maxErrors":{"type":"integer"},"autoCommit":{"type":"boolean"},"roundtrips":{"type":"integer","deprecated":true,"description":"This property is deprecated. Any value sent in a request is ignored: it is always stored and returned as `1`, and every execution runs a single cycle.\n"}}}}}}},"controller":{"type":"object","properties":{"name":{"type":"string"},"modules":{"type":"object"},"idSequence":{"type":"integer"}}},"scheduling":{"type":"object","properties":{"type":{"type":"string"},"interval":{"type":"integer"}}},"language":{"type":"string"}}},"example":{"blueprint":{"flow":[{"id":1,"mapper":{"url":"https://google.com","method":"get","shareCookies":false},"module":"http:ActionGetFile","version":3,"metadata":{"expect":[{"name":"url","type":"url","label":"URL","required":true},{"name":"method","type":"hidden","label":"Method"},{"name":"shareCookies","type":"boolean","label":"Share cookies with other HTTP modules","required":true}],"designer":{"x":0,"y":0},"parameters":[{"name":"handleErrors","type":"boolean","label":"Evaluate all states as errors (except for 2xx and 3xx )","required":true}]},"parameters":{"handleErrors":false}}],"metadata":{"version":1,"designer":{"orphans":[]},"scenario":{"dlq":false,"dataloss":false,"maxErrors":3,"autoCommit":true,"roundtrips":1,"sequential":false,"confidential":false,"autoCommitTriggerLast":true,"freshVariables":false}}},"controller":{"name":"New template","modules":{},"idSequence":2},"scheduling":{"type":"indefinitely","interval":900},"language":"en"}}}}}}},"/users":{"get":{"tags":["Users"],"summary":"List users","description":"Retrieves a collection of all users for a team or an organization with a given ID. Returned users are sorted by id in descending order.","security":[{"token":["user:read"]}],"parameters":[{"description":"The unique ID of the organization whose users will be retrieved. If this parameter is set, the `teamId` parameter must be skipped. For each request either `teamId` or `organizationId` must be defined.","name":"organizationId","in":"query","schema":{"type":"integer"}},{"description":"The unique ID of the team whose users will be retrieved. If this parameter is set, the `organizationId` parameter must be skipped. For each request either `teamId` or `organizationId` must be defined.","name":"teamId","in":"query","schema":{"type":"integer"},"example":1},{"description":"Optional filter parameter.","name":"name","in":"query","schema":{"type":"string"}},{"description":"Optional filter parameter.","name":"email","in":"query","schema":{"type":"string"}},{"description":"Optional filter parameter. If this parameter is set, the `teamId` parameter must be set as well.","name":"teamRoleId","in":"query","schema":{"type":"integer"},"examples":{"filtering":{"value":3}}},{"description":"Optional filter parameter. If this parameter is set, the `organizationId` parameter must be set as well.","name":"organizationRoleId","in":"query","schema":{"type":"integer"},"examples":{"filtering":{"value":13}}},{"description":"Filter by team ID. Use 0 to find users not assigned to any team. Requires organizationId.","name":"filterByTeamId","in":"query","schema":{"type":"integer"},"examples":{"filtering":{"value":5},"noTeam":{"value":0}}},{"name":"ids","description":"Optional filter parameter. Restricts the result to users whose ID is in the given list.","in":"query","schema":{"type":"array","items":{"type":"integer"}},"example":[1,2]},{"name":"tfaStatus","description":"The user's two-factor authentication (TFA) status. This field is available only on plans that have the TFA enforcement enabled.","in":"query","schema":{"type":"integer","enum":[0,1,2]},"examples":{"filtering":{"value":1}}},{"name":"cols[]","in":"query","description":"An array of columns that should be returned from the API. Can be used to save bandwidth when not all properties are needed.","schema":{"type":"array","items":{"type":"string","enum":["id","name","email","language","timezoneId","localeId","countryId","features","avatar","lastLogin","tfaStatus","userTeamIds","privateSpace"]}}},{"name":"pg[sortBy]","description":"The value that will be used to sort returned entities by. Users can be sorted by name, id and email.","in":"query","schema":{"type":"string","enum":["name","id","email"]}},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The number of entities you want to skip before getting entities you want."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"The maximum number of entities you want to get in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}}},"pg":{"type":"object","properties":{"last":{"type":"string","description":"Shown only when using the `last` based pagination."},"showLast":{"type":"boolean","description":"Shown only when using the `last` based pagination."},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer","description":"Shown only when using the `offset` based pagination."}}}}},"example":{"users":[{"id":1,"name":"Administrator","email":"admin@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":202,"features":{},"avatar":"https://secure.gravatar.com/avatar/6b1a74d20d925c12a73af32bf0dd7164.jpg?d=mm","lastLogin":"2022-04-04T10:23:34.347Z","tfaStatus":0}],"pg":{"sortBy":"name","sortDir":"desc","offset":0,"limit":10}}}}}}},"delete":{"tags":["Users"],"summary":"Delete current user","description":"Deletes the authenticated user's own account. Requires password and/or 2FA, if configured.  Optionally deletes all user connections (accounts, webhooks, etc).","security":[{"token":["user:write"]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"deleteConnections":{"type":"boolean","description":"Whether to delete all user connections (accounts, webhooks, etc).","default":false},"currentPassword":{"type":"string","description":"User's current password (required if user has a password set)."},"tfaCode":{"type":"string","description":"Two-factor authentication code (required if 2FA is enabled)."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"integer"}}},"example":{"user":3}}}}}}},"/users/{userId}":{"patch":{"tags":["Users"],"summary":"Update user","description":"Updates a user with a given ID by passing new data in the request body. Any property that is not provided will be left unchanged. As the response, it returns all details of the updated user including properties that were not changed.","security":[{"token":["user:write"]}],"parameters":[{"required":true,"name":"userId","in":"path","schema":{"type":"string"},"description":"The unique ID of the user. It can be retrieved from the [List users](/api-reference/users/get--users.md) endpoint.","example":1}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the user. The name must be at most 250 characters long and does not need to be unique. The name may contain only letters, numbers, spaces, and the following special characters: `'`, `-`, `.`, `(`, `)`, `*`, `+`, `,`, `@`, `_`, `/`. The name must not start or end with a space."},"language":{"type":"string","description":"The standardized language code. It sets the Make environment language."},"timezoneId":{"type":"integer","description":"The timezone ID corresponding to the local time. The list of all timezones can be retrieved from the `GET /enums/timezones` endpoint."},"localeId":{"type":"integer","description":"The location ID. It sets the Make environment date formats, hour formats, decimal separators, etc. The list of all locales can be retrieved from the `GET /enums/locales` endpoint."},"countryId":{"type":"integer","description":"The country ID. It sets the region of use."}}},"example":{"name":"admin","language":"en","localeId":18,"timezoneId":113,"countryId":1}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}}}},"example":{"user":{"id":1,"name":"Administrator","email":"admin@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":202,"features":{},"avatar":"https://secure.gravatar.com/avatar/6b1a74d20d925c12a73af32bf0dd7164.jpg?d=mm","lastLogin":"2022-04-04T10:23:34.347Z","tfaStatus":0}}}}}}}},"/users/{userId}/attributes/email":{"put":{"tags":["Users"],"summary":"Update user email","description":"Updates an email for a user with a given ID by passing new data in the request body. It replaces the entire resource with the new values. In the response, it returns the confirmation if the email was changed.","security":[{"token":["user:write"]}],"parameters":[{"required":true,"name":"userId","in":"path","schema":{"type":"string"},"description":"The unique ID of the user. It can be retrieved from the [List users](/api-reference/users/get--users.md) endpoint.","example":1}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"currentEmailAddress":{"type":"string","format":"email","description":"User's current email address."},"newEmailAddress":{"type":"string","format":"email","description":"User's new email address."},"currentPassword":{"type":"string","format":"password","description":"User's current password."}},"required":["currentEmailAddress","newEmailAddress","currentPassword"]},"example":{"currentEmailAddress":"current@email.com","newEmailAddress":"new@email.com","currentPassword":"123456Ab-"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"},"emailSent":{"type":"boolean"}}},"example":{"changed":false,"emailSent":true}}}}}}},"/users/{userId}/attributes/password":{"put":{"tags":["Users"],"summary":"Update user password","description":"Updates a password for a user with a given ID by passing new data in the request body. It replaces the entire resource with the new values. In the response, it returns the confirmation if the password was changed. This endpoint corresponds to changing a password in the user profile when the user is logged in to the Make interface.","security":[{"token":["user:write"]}],"parameters":[{"required":true,"name":"userId","in":"path","schema":{"type":"string"},"description":"The unique ID of the user. It can be retrieved from the [List users](/api-reference/users/get--users.md) endpoint.","example":1}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string","format":"password","description":"The current user password."},"newPassword1":{"type":"string","format":"password","description":"The new user password. The password must be at least 9 characters long and must contain at least one uppercase letter, at least one number, and at least one special character."},"newPassword2":{"type":"string","format":"password","description":"The new user password for confirmation. This password must be the same as the password in the `newPassword1` property."}},"required":["currentPassword","newPassword1","newPassword2"]},"example":{"currentPassword":"123456Ab.","newPassword1":"123456Ab-","newPassword2":"123456Ab-"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"changed":{"type":"boolean"}}},"example":{"changed":true}}}}}}},"/users/password-reset-demand":{"post":{"tags":["Users"],"summary":"Send password reset demand","description":"Sends password reset demand for a user with an email passed in the request body. This endpoint corresponds to the **Lost password** function on the login page in the Make interface. In the response, it returns the confirmation if the demand was sent successfully.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email of the user for who the password should be reset."}},"required":["email"]},"example":{"email":"ee@eee.com"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/users/password-reset":{"get":{"tags":["Users"],"summary":"Set session for resetting lost password","description":"Checks a hash and sets a session for the [Reset lost password](./post--users--password-reset.md) endpoint. This endpoint corresponds to clicking the **Reset password** link in the **Password reset** email.","parameters":[{"name":"hash","in":"query","schema":{"type":"string"},"description":"The unique hash of the password reset session.","example":"fab680b60044adb766128e713e44e15b"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}},"post":{"tags":["Users"],"summary":"Reset lost password","description":"Updates a password for a user based on the session created when calling the [Prepare session for password reset](./get--users--password-reset.md) endpoint. This endpoint corresponds to setting a new password on the **Lost password** page in the Make interface.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"newPassword1":{"type":"string","description":"The new user password."},"newPassword2":{"type":"string","description":"This password must be the same as the password in the `newPassword1` property."}},"required":["newPassword1","newPassword2"]},"example":{"newPassword1":"Aa123456.","newPassword2":"Aa123456."}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"integer"}}},"example":{"ok":1}}}}}}},"/users/me":{"get":{"tags":["Users / Me"],"summary":"Current user data","description":"Retrieves data about the authenticated user. Refer to the `cols[]` parameter accepted values to get more information about the currently authenticated user.","parameters":[{"name":"includeInvitedOrg","description":"Set this parameter to `true` if you want to get also the user roles in organizations with pending invitation. The default value is `false`.","in":"query","schema":{"type":"boolean"},"examples":{"all-cols":{"value":true}}},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["id","name","email","language","timezoneId","localeId","countryId","features","avatar","timezone","locale","emailNotifications","usersAdminsRoleId","userOrganizationRoles","userTeamRoles","forceSetPassword","hasPassword","tfaEnabled","tfaStatus","isAffiliatePartner","hasAddedApp","supportEligible"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"authUser":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"language":{"type":"string"},"timezoneId":{"type":"integer"},"localeId":{"type":"integer"},"countryId":{"type":"integer"},"features":{"type":"object","properties":{"allow_apps":{"type":"boolean"}}},"avatar":{"type":"string","format":"uri"},"lastLogin":{"type":"string","format":"date-time"},"tfaStatus":{"type":"integer","nullable":true,"enum":[0,1,2],"description":"Two-factor authentication status:\n- 0: No TFA set\n- 1: TFA active (authenticator app)\n- 2: External authentication (Social SSO)\n\nIt is only supported on Make's public cloud instances.\n"},"supportEligible":{"type":"boolean","description":"Whether the user is eligible for contact support. False if all user's organizations are on Free plan and account is older than 90 days."},"userTeamIds":{"type":"array","nullable":true,"description":"IDs of teams the user belongs to within the organization. Only returned when explicitly requested via cols[]=userTeamIds and organizationId is provided.","items":{"type":"integer"}},"privateSpace":{"nullable":true,"description":"The user's personal private space in the organization. Only returned when explicitly requested via cols[]=privateSpace with organizationId on a public instance.","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"globalAgentsEnabled":{"type":"boolean"},"type":{"type":"string","enum":["personal"]},"operationsLimit":{"type":"integer","nullable":true},"transferLimit":{"type":"bigint","nullable":true},"consumedOperations":{"type":"integer","nullable":true},"consumedTransfer":{"type":"bigint","nullable":true},"isPaused":{"type":"boolean","nullable":true},"consumedCenticredits":{"type":"integer","nullable":true}}}}}}},"examples":{"default-cols":{"summary":"Current user","description":"Get information about the currently authenticated user.","value":{"authUser":{"id":1,"name":"Martin","email":"admin@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":1,"features":{"allow_apps":true},"avatar":"https://secure.gravatar.com/avatar/6b1a74d20d925c12a73af32bf0dd7164.jpg?d=mm","timezone":"Europe/Prague","locale":"en","emailNotifications":null,"hasAddedApp":false,"tfaStatus":0}}},"all-cols":{"summary":"Get all information","description":"Get all available information about the currently authenticated user.","value":{"authUser":{"id":1,"name":"Martin","email":"admin@make.cloud","language":"en","timezoneId":113,"localeId":18,"countryId":1,"features":{"allow_apps":true},"avatar":"https://secure.gravatar.com/avatar/6b1a74d20d925c12a73af32bf0dd7164.jpg?d=mm","timezone":"Europe/Prague","locale":"en","emailNotifications":null,"usersAdminsRoleId":1,"hasPassword":true,"tfaEnabled":false,"tfaStatus":0,"forceSetPassword":false,"userOrganizationRoles":[{"usersRoleId":11,"userId":1,"organizationId":1,"invitation":null},{"usersRoleId":11,"userId":1,"organizationId":3,"invitation":null}],"userTeamRoles":[{"usersRoleId":1,"userId":1,"teamId":1,"changeable":false},{"usersRoleId":1,"userId":1,"teamId":2,"changeable":false}],"hasAddedApp":false,"supportEligible":true}}}}}}}}}},"/users/me/current-authorization":{"get":{"tags":["Users / Me"],"summary":"Current user authorization","description":"Returns current authorization information for the authenticated user including scope and authentication method used.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"authorization":{"type":"object","properties":{"scope":{"type":"array","items":{"type":"string"},"description":"The scopes for the authenticated user"},"authUsed":{"type":"string","description":"The authentication method that was used"}}}}},"examples":{"default":{"summary":"Current user authorization","description":"Get current authorization information for the authenticated user.","value":{"authorization":{"scope":["read:user","write:scenario"],"authUsed":"token"}}}}}}}}}},"/users/me/onboarding-survey":{"get":{"tags":["Users / Me"],"summary":"Get onboarding survey status","description":"Returns whether the authenticated user has a pending onboarding survey. If the survey has been submitted, the response payload is included.","security":[{"token":["user:read"]}],"responses":{"200":{"description":"Survey status","content":{"application/json":{"schema":{"type":"object","properties":{"pending":{"type":"boolean","description":"Whether the user still needs to complete the onboarding survey."},"response":{"type":"object","description":"The submitted survey response. Only present when `pending` is `false` and a response exists."}},"required":["pending"]},"examples":{"pending":{"summary":"User has not completed the survey","value":{"pending":true}},"completed":{"summary":"User has completed the survey","value":{"pending":false,"response":{"survey_type":"self_serve","schema_version":1,"answers":{"discovery_source":"search_engine","technical_proficiency":"developer"}}}},"no-survey":{"summary":"User never had a survey (legacy or already completed)","value":{"pending":false}}}}}},"401":{"description":"Unauthorized — user is not authenticated."}}},"post":{"tags":["Users / Me"],"summary":"Submit onboarding survey","description":"Submits the onboarding survey response for the authenticated user. Optionally pins preferred apps for the user in their organization.","security":[{"token":["user:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"survey_type":{"type":"string","description":"The type of survey being submitted (e.g., `self_serve`, `enterprise`)."},"schema_version":{"type":"number","description":"Version of the survey schema. Allows consumers to interpret the answers."},"answers":{"type":"object","description":"The user's answers to the survey questions, keyed by question name.","additionalProperties":true},"preferred_apps":{"type":"array","description":"Optional list of native app package names to pin for the user. Apps that do not exist are reported as failed without blocking the submission.","items":{"type":"string"}}},"required":["survey_type","schema_version","answers"]},"example":{"survey_type":"self_serve","schema_version":1,"answers":{"discovery_source":"search_engine","technical_proficiency":"developer","building_for":"team","org_size":1150,"team_department":"engineering"},"preferred_apps":["slack","gmail"]}}}},"responses":{"200":{"description":"Survey submitted successfully. Side effects (app pinning) are reported individually.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the core survey submission succeeded."},"result":{"type":"object","description":"The SWARM response from HQ confirming the submission.","properties":{"ok":{"type":"number","enum":[1]}}},"pinnedApps":{"type":"array","description":"Result of each app pin attempt. Empty array if no `preferred_apps` were provided.","items":{"type":"object","properties":{"app":{"type":"string","description":"The app package name."},"success":{"type":"boolean","description":"Whether the pin succeeded."},"error":{"type":"string","description":"Error message if the pin failed. Only present when `success` is `false`."}}}}}},"examples":{"success-with-pins":{"summary":"Survey submitted with all apps pinned successfully","value":{"success":true,"result":{"ok":1},"pinnedApps":[{"app":"slack","success":true},{"app":"gmail","success":true}]}},"partial-pin-failure":{"summary":"Survey submitted but one app failed to pin","value":{"success":true,"result":{"ok":1},"pinnedApps":[{"app":"slack","success":true},{"app":"nonexistent-app","success":false,"error":"Native app not found."}]}},"no-preferred-apps":{"summary":"Survey submitted without preferred apps","value":{"success":true,"result":{"ok":1},"pinnedApps":[]}}}}}},"400":{"description":"Validation error — missing required fields (`survey_type`, `schema_version`, or `answers`)."},"401":{"description":"Unauthorized — user is not authenticated."}}}},"/users/me/organization-invitations":{"get":{"tags":["Users / Me"],"summary":"User Organization invitations","description":"Retrieves organization invitations of the currently authenticated user.","security":[{"token":["user:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationInvitations":{"type":"array","items":{"type":"object","properties":{"hash":{"type":"string"},"invitation":{"type":"string"},"usersRoleId":{"type":"integer"},"organizationId":{"type":"integer"},"organizationName":{"type":"string"},"zone":{"type":"string"}}}}}},"example":{"userOrganizationInvitations":[{"hash":"e99ca895-4c54-4d13-b83a-8ab37c35f17a","organizationId":10,"organizationName":"Organization 10","usersRoleId":12,"invitation":"pending"},{"hash":"5cd8b8c3-cb5c-4bd8-8d31-4b92fcdc7768","organizationId":13,"organizationName":"Organization 13","usersRoleId":12,"invitation":"expired"}]}}}}}}},"/users/me/api-tokens":{"get":{"tags":["Users / API Tokens"],"summary":"List users API tokens","description":"Gets the API tokens of the currently authenticated user, newest first. The token values are masked except for their first 8 characters. `organizationId` shows the organization a token is scoped to, or `null` for a token that works in every organization of the user. This call is rejected for an API token that is itself scoped to an organization.","security":[{"token":["user:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"apiTokens":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","description":"The API token. Only the response of the create call contains the full value; the list masks everything after the first 8 characters."},"scope":{"type":"array","items":{"type":"string","format":"uri"}},"created":{"type":"string","format":"date-time"},"label":{"type":"string"},"organizationId":{"type":"integer","nullable":true,"minimum":1,"description":"ID of the organization the API token is scoped to. A scoped token works only within that organization: requests that target another organization, or that have no organization context (for example `GET /users/me/api-tokens` or `/admin` routes), are rejected. `null` means the token works in every organization the user belongs to."}}}}}},"examples":{"scoped-and-unscoped":{"summary":"One token scoped to an organization and one unscoped token","value":{"apiTokens":[{"token":"2544847b-****-****-****-************","scope":["apps:write"],"created":"2019-11-05T09:22:31.249Z","label":"token dva write","organizationId":12},{"token":"40aff759-****-****-****-************","scope":["apps:read"],"created":"2019-11-05T09:22:22.615Z","label":"token one read","organizationId":null}]}}}}}},"403":{"description":"The request is authenticated with an API token that is scoped to an organization; such tokens cannot list or create API tokens.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}}},"examples":{"organization-bound-token":{"summary":"Called with an API token scoped to an organization","value":{"message":"Permission denied","code":"SC403","detail":"Organization-bound request can't be used outside of the Organization Context."}}}}}}}},"post":{"tags":["Users / API Tokens"],"summary":"Create new API token","description":"Create a new API token for the currently authenticated user. Specify the API token scopes in the `scope` array parameter. Optionally pass `organizationId` to scope the token to one organization the user is an accepted member of; the token then works only within that organization. Omit `organizationId` or send `null` for a token that works in every organization of the user. A user can have at most 100 API tokens. This call is rejected for an API token that is itself scoped to an organization.","security":[{"token":["user:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string","minLength":1,"description":"The API token label visible in the Make user profile."},"scope":{"type":"array","minItems":1,"items":{"type":"string","format":"uri"},"description":"The API scopes provided to the API token. The API scopes determine the scope of operations that you can do with the API token.\n\nCheck the list of all existing Make API scopes with the API call `GET /enums/user-api-tokes-scopes`."},"organizationId":{"type":"integer","nullable":true,"minimum":1,"maximum":2147483647,"description":"ID of the organization to scope the API token to. The user must be an accepted member (not just invited) of the organization, and the organization must not be deleted. Omit or send `null` for a token that works in every organization of the user."}},"required":["label","scope"]},"examples":{"unscoped":{"summary":"Token that works in every organization of the user","value":{"label":"example token","scope":["apps:read","apps:write"]}},"scoped":{"summary":"Token scoped to one organization","value":{"label":"example scoped token","scope":["scenarios:read"],"organizationId":12}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"apiToken":{"allOf":[{"type":"object","properties":{"token":{"type":"string","description":"The API token. Only the response of the create call contains the full value; the list masks everything after the first 8 characters."},"scope":{"type":"array","items":{"type":"string","format":"uri"}},"created":{"type":"string","format":"date-time"},"label":{"type":"string"},"organizationId":{"type":"integer","nullable":true,"minimum":1,"description":"ID of the organization the API token is scoped to. A scoped token works only within that organization: requests that target another organization, or that have no organization context (for example `GET /users/me/api-tokens` or `/admin` routes), are rejected. `null` means the token works in every organization the user belongs to."}}},{"type":"object","properties":{"tokenHash":{"type":"string","description":"SHA-256 hash of the token, hex-encoded."},"token_hash":{"type":"string","deprecated":true,"description":"Master (on-premise) only. Same value as `tokenHash`, kept for backward compatibility; use `tokenHash` instead."}}}]}}},"examples":{"unscoped":{"summary":"Token that works in every organization of the user","value":{"apiToken":{"token":"7615989d-d213-48dc-b625-27133ae3f1a8","tokenHash":"5b1a0c4e1d3f0f0e8d6f2a9c7b4e3d2c1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d","scope":["apps:read","apps:write"],"created":"2019-11-06T14:37:51.493Z","label":"example token","organizationId":null}}},"scoped":{"summary":"Token scoped to one organization","value":{"apiToken":{"token":"0d3a6c6f-9f4b-4f0e-8a51-2c7b1d4e9a10","tokenHash":"9e2c4b7a1f0d3e6c8b5a2f9e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c","scope":["scenarios:read"],"created":"2019-11-06T14:40:12.108Z","label":"example scoped token","organizationId":12}}}}}}},"400":{"description":"Invalid input, for example a missing `label`, an empty `scope`, a non-integer or non-positive `organizationId` (`SC400`), an unknown scope (`IM005`), or the limit of 100 API tokens reached (`IM117`).","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"examples":{"invalid-organization-id":{"summary":"organizationId is not a positive integer","value":{"message":"Bad Request","code":"SC400"}},"token-limit":{"summary":"The user already has 100 API tokens","value":{"message":"You can have at most 100 api tokens.","code":"IM117"}}}}}},"401":{"description":"The token cannot be scoped to the organization: the user is not an accepted member of it, or it does not exist or is deleted.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}}},"examples":{"scoped":{"summary":"The user is not a member of the organization","value":{"message":"Access denied","code":"IM001","detail":"You cannot create a token scoped to this organization."}}}}}},"403":{"description":"The request is authenticated with an API token that is scoped to an organization; such tokens cannot list or create API tokens.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}}},"examples":{"organization-bound-token":{"summary":"Called with an API token scoped to an organization","value":{"message":"Permission denied","code":"SC403","detail":"Organization-bound request can't be used outside of the Organization Context."}}}}}}}}},"/users/me/oauth-connections":{"get":{"tags":["Users / OAuth connections"],"summary":"List OAuth connections","description":"Gets the OAuth connections for the currently authenticated user.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"clientName":{"type":"string"},"lastUsedAt":{"type":"string","format":"date-time"},"scopes":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"/users/me/oauth-connections/{clientId}":{"delete":{"tags":["Users / OAuth connections"],"summary":"Delete OAuth connection","description":"Delete a specific OAuth connection for the currently authenticated user.","parameters":[{"name":"clientId","in":"path","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"client":{"type":"integer"}}}}}}}}},"/users/me/api-tokens/{timestamp}":{"delete":{"tags":["Users / API Tokens"],"summary":"Delete API token","description":"Deletes currently authenticated user's API token with the specified creation timestamp. Get the API token creation timestamp with the API call `GET /users/me/api-tokens` in the parameter value `created`. Copy the timestamp string to the API call path to delete the API token.","security":[{"token":["user:write"]}],"parameters":[{"name":"timestamp","in":"path","schema":{"type":"string","format":"date-time"},"required":true,"description":"The timestamp of the moment when you created the API key in the ISO 8601 compliant format.","example":"2020-03-27T05:53:27.368Z"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"apiToken":{"type":"string","format":"date-time"}}},"example":{"apiToken":"2020-03-27T05:53:27.368Z"}}}}}}},"/users/{userId}/user-team-roles":{"get":{"tags":["Users / User team roles"],"summary":"List user roles","description":"Gets team roles of the user with the specified `userId`. The response contains user's team role ID for all teams the user is part of. Get the mapping of the `userRoleId` and the user role `name` with the API call `GET /users/roles`.","security":[{"token":["user:read"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the user.","example":111}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamRoles":{"type":"array","items":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}}}}},"example":{"userTeamRoles":[{"usersRoleId":3,"userId":13,"teamId":1,"changeable":true},{"usersRoleId":1,"userId":13,"teamId":21,"changeable":true}]}}}}}}},"/users/{userId}/user-team-roles/{teamId}":{"get":{"tags":["Users / User team roles"],"summary":"Get user team role detail","description":"Gets user role detail in the team with the specified `teamId`. Get the mapping of the `userRoleId` and the user role `name` with the API call `GET /users/roles`.","security":[{"token":["user:read"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the user.","example":111},{"name":"teamId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the team.","example":22}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamRole":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}}}},"example":{"userTeamRole":{"usersRoleId":3,"userId":13,"teamId":1,"changeable":true}}}}}}},"post":{"tags":["Users / User team roles"],"summary":"Update user role","description":"Updates the user role in the team with the specified `teamId`. Get the mapping of the `userRoleId` and the user role `name` with the API call `GET /users/roles`. Organizations limited to a single team cannot assign team roles; such requests are rejected with `SC402`. Removing a user's role (omitting `usersRoleId` or sending `null`) remains available on those plans.","security":[{"token":["user:write"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the user.","example":111},{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team.","example":22}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The ID of the user role. Check the `GET /users/roles` API call for the available `usersRoleId` values. Send `null` (or omit) to remove the user's role / remove them from the team."}}},"examples":{"assign":{"summary":"Assign a role","value":{"usersRoleId":3}},"remove":{"summary":"Remove the user's role","value":{"usersRoleId":null}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamRole":{"type":"object","properties":{"usersRoleId":{"type":"integer","nullable":true,"description":"The user's role in the team, or `null` when the user has no role (e.g. after removal)."},"userId":{"type":"integer"},"teamId":{"type":"integer"},"changeable":{"type":"boolean"},"ssoPending":{"type":"boolean"}}}}},"examples":{"assign":{"summary":"Role assigned","value":{"userTeamRole":{"usersRoleId":3,"userId":13,"teamId":1,"changeable":true}}},"remove":{"summary":"Role removed","value":{"userTeamRole":{"usersRoleId":null,"userId":13,"teamId":1,"changeable":true}}}}}}},"402":{"description":"Payment required - the organization is limited to a single team and cannot assign team roles. Upgrade to a multi-team plan.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}}},"examples":{"assign":{"summary":"Blocked assignment on a single-team plan","value":{"message":"Subscription required","code":"SC402","detail":"Customizing team roles is not available on your current plan."}}}}}}}}},"/users/user-team-notifications/{teamId}":{"get":{"tags":["Users / User team notifications"],"summary":"List user team notification settings","description":"Gets the authenticated user's notification settings for a team specified by the `teamId`. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`.\n\nThe response only contains the notification types available to the user. Some notification types require a specific team\npermission — types whose permission the user does not hold are omitted from the response.\n","security":[{"token":["user:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"example":3,"description":"The ID of the team."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamNotifications":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer"},"teamId":{"type":"integer"},"notificationId":{"type":"integer"},"enabled":{"type":"boolean"}}}}}},"example":{"userTeamNotifications":[{"userId":3,"teamId":3,"notificationId":1,"enabled":true},{"userId":3,"teamId":3,"notificationId":2,"enabled":false},{"userId":3,"teamId":3,"notificationId":6,"enabled":true}]}}}}}}},"/users/user-team-notifications/{teamId}/{notificationId}":{"get":{"tags":["Users / User team notifications"],"summary":"Check user's notification settings","description":"Checks the authenticated user's notification settings for the team and notification type specified by the `teamId` and `notificationId`. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`.\n\nOnly notification types available to the user are returned. Some notification types require a specific team permission —\nfor a type whose permission the user does not hold, the response contains no notification setting.\n","security":[{"token":["user:read"]}],"parameters":[{"name":"teamId","in":"path","schema":{"type":"integer"},"required":true,"example":1,"description":"The ID of the team."},{"name":"notificationId","in":"path","schema":{"type":"integer"},"required":true,"example":6,"description":"The ID of the notification type. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamNotification":{"type":"object","properties":{"userId":{"type":"integer"},"teamId":{"type":"integer"},"notificationId":{"type":"integer"},"enabled":{"type":"boolean"}}}}},"example":{"userTeamNotification":{"userId":1,"teamId":1,"notificationId":6,"enabled":true}}}}}}},"put":{"tags":["Users / User team notifications"],"summary":"Update user's notification settings","description":"Updates the authenticated user's notification settings for the team and notification type specified by the `teamId` and `notificationId`.\n\nGet the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`.\n\nNote that you can only update notification settings for the user associated with the API key used for authentication.\n\nSome notification types require a specific team permission. Enabling such a type for a user who does not hold the required\npermission fails with `403`. Disabling a notification type is always allowed, regardless of permissions or feature flags.\n","security":[{"token":["user:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enables or disables team notification type for the user."}}},"example":{"enabled":true}}}},"parameters":[{"name":"teamId","in":"path","schema":{"type":"string"},"required":true,"example":1,"description":"The ID of the team."},{"name":"notificationId","in":"path","schema":{"type":"string"},"required":true,"example":6,"description":"The ID of the notification type. Get the mapping of the `notificationId` and the team notification setting type with the API call `GET /enums/user-email-notifications`."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userTeamNotification":{"type":"object","properties":{"userId":{"type":"integer"},"teamId":{"type":"integer"},"notificationId":{"type":"integer"},"enabled":{"type":"boolean"}}}}},"example":{"userTeamNotification":{"userId":1,"teamId":1,"notificationId":6,"enabled":true}}}}},"403":{"description":"Forbidden - the user lacks the team permission required to enable this notification type","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Insufficient rights","code":"IM002"}}}}}}},"/users/by-permission":{"get":{"tags":["Users"],"summary":"List users by permission","description":"Returns users who have a specific permission within an organization or team.\n\nUse `type: organization` with `organizationId` to find users that hold a given organization-level permission.\nUse `type: company` with `teamId` to find users that hold a given team-level permission.\n\nRequires the `organization users view` permission on the resolved organization.\nWhen `type` is `company`, additionally requires the `team view` permission on the specified team.\n","security":[{"token":["user:read"]}],"parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string","enum":["organization","company"]},"example":"organization","description":"Whether to filter by an organization-level or team-level (company) permission.\nWhen `organization`, supply `organizationId`.\nWhen `company`, supply `teamId`.\n"},{"name":"permission","in":"query","required":true,"schema":{"type":"string"},"example":"organization users view","description":"The permission string to filter by. Must be a valid permission for the given `type`.\nFor example `organization users view` (organization type) or `team view` (company type).\n"},{"name":"organizationId","in":"query","required":false,"schema":{"type":"integer"},"example":1,"description":"Required when `type` is `organization`. The organization to scope the query to."},{"name":"teamId","in":"query","required":false,"schema":{"type":"integer"},"example":2,"description":"Required when `type` is `company`. The team to scope the query to."},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"default":{"value":["id","name","email"]},"all-cols":{"value":["id","name","email","privateSpaceId","language","timezoneId","localeId","countryId","avatar","lastLogin","invitationStatus"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier of the user.","example":1},"name":{"type":"string","nullable":true,"description":"Full name of the user.","example":"John Doe"},"email":{"type":"string","description":"Email address of the user.","example":"john.doe@example.com"},"privateSpaceId":{"type":"integer","nullable":true,"description":"ID of the user's private space (team) within the organization, if any.","example":42},"language":{"type":"string","description":"Preferred language code of the user.","example":"en"},"timezoneId":{"type":"integer","description":"ID of the user's timezone.","example":1},"localeId":{"type":"integer","description":"ID of the user's locale.","example":1},"countryId":{"type":"integer","description":"ID of the user's country.","example":1},"avatar":{"type":"string","nullable":true,"description":"URL of the user's avatar image.","example":"https://example.com/avatar.png"},"lastLogin":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp of the user's last login.","example":"2024-01-15T10:30:00.000Z"},"invitationStatus":{"type":"string","nullable":true,"enum":["pending","expired"],"description":"Status of the user's organization invitation.\n`pending` — the user has been invited but has not yet accepted; the invitation is still valid.\n`expired` — the invitation has not been accepted in time.\n`null` — the user is a fully accepted member (no outstanding invitation).\n","example":"pending"}}}}}},"examples":{"organization-type":{"summary":"Users with an organization permission","value":{"users":[{"id":1,"name":"John Doe","email":"john.doe@example.com"}]}},"company-type":{"summary":"Users with a team permission","value":{"users":[{"id":1,"name":"John Doe","email":"john.doe@example.com"},{"id":2,"name":"Jane Smith","email":"jane.smith@example.com"}]}}}}}},"400":{"description":"Bad request — invalid or missing parameters."},"401":{"description":"Unauthorized — authentication is required."},"403":{"description":"Forbidden — the authenticated user does not have the required permissions."}}}},"/users/custom-roles":{"post":{"tags":["Users / Roles"],"summary":"Create a custom role","description":"Creates a new custom organization or team role. Requires the `organization custom roles edit` permission on the organization.","security":[{"token":["user:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","category","organizationId"],"properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"The name of the custom role.","example":"Custom Viewer"},"category":{"type":"string","enum":["organization","team"],"description":"Whether the role applies to the organization or a team.","example":"organization"},"organizationId":{"type":"integer","description":"The ID of the organization to create the custom role in.","example":1},"description":{"type":"string","nullable":true,"description":"An optional description of the custom role.","example":"Read-only access to organization resources."},"permissions":{"type":"array","items":{"type":"integer"},"description":"List of permission IDs to assign to the custom role.","example":[101,102]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"object","properties":{"id":{"type":"integer","description":"The unique ID of the custom role.","example":42},"name":{"type":"string","description":"The name of the custom role.","example":"Custom Viewer"},"category":{"type":"string","enum":["organization","team"],"description":"Whether the role applies to the organization or a team.","example":"organization"},"managementType":{"type":"string","enum":["custom_managed"],"description":"The management type of the role. Always `custom_managed` for custom roles.","example":"custom_managed"},"description":{"type":"string","nullable":true,"description":"The description of the custom role.","example":"Read-only access to organization resources."},"permissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":101},"name":{"type":"string","example":"scenarios get"}}},"description":"List of permissions assigned to the custom role."}}}}},"example":{"role":{"id":42,"name":"Custom Viewer","category":"organization","managementType":"custom_managed","description":"Read-only access to organization resources.","permissions":[{"id":101,"name":"scenarios get"},{"id":102,"name":"scenario view"}]}}}}}}}},"/users/custom-roles/{roleId}":{"patch":{"tags":["Users / Roles"],"summary":"Update a custom role","description":"Updates the name, description, or permissions of an existing custom role. Only custom-managed roles can be updated.","security":[{"token":["user:write"]}],"parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"integer"},"example":42,"description":"The ID of the custom role to update."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["organizationId"],"properties":{"organizationId":{"type":"integer","description":"The ID of the organization the custom role belongs to.","example":1},"name":{"type":"string","minLength":1,"maxLength":50,"description":"New name for the custom role.","example":"Updated Viewer"},"description":{"type":"string","nullable":true,"description":"New description for the custom role. Pass `null` to clear it.","example":"Updated description."},"permissions":{"type":"array","items":{"type":"integer"},"description":"Full list of permission IDs to assign to the role. Replaces existing permissions.","example":[101]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"object","properties":{"id":{"type":"integer","description":"The unique ID of the custom role.","example":42},"name":{"type":"string","description":"The name of the custom role.","example":"Custom Viewer"},"category":{"type":"string","enum":["organization","team"],"description":"Whether the role applies to the organization or a team.","example":"organization"},"managementType":{"type":"string","enum":["custom_managed"],"description":"The management type of the role. Always `custom_managed` for custom roles.","example":"custom_managed"},"description":{"type":"string","nullable":true,"description":"The description of the custom role.","example":"Read-only access to organization resources."},"permissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":101},"name":{"type":"string","example":"scenarios get"}}},"description":"List of permissions assigned to the custom role."}}}}},"example":{"role":{"id":42,"name":"Updated Viewer","category":"organization","managementType":"custom_managed","description":"Updated description.","permissions":[{"id":101,"name":"scenarios get"}]}}}}}}},"delete":{"tags":["Users / Roles"],"summary":"Delete a custom role","description":"Deletes an existing custom role. Only custom-managed roles can be deleted. The role must not be currently assigned to any users.","security":[{"token":["user:write"]}],"parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"integer"},"example":42,"description":"The ID of the custom role to delete."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["organizationId"],"properties":{"organizationId":{"type":"integer","description":"The ID of the organization the custom role belongs to.","example":1}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"roleId":{"type":"integer","description":"The ID of the deleted custom role."}}},"example":{"roleId":42}}}}}}},"/users/roles":{"get":{"tags":["Users / Roles"],"summary":"User role definitions","description":"Gets list of all existing user role names and IDs. Optionally filter by `category`, a specific `roleId`, or pass `organizationId`/`teamId` to include custom roles for that organization. Set the user roles in an organization with the `POST /users/{userId}/user-organization-roles/{organizationId}` API call. Use the `POST /users/{userId}/user-team-roles/{teamId}` API call to set user roles in a team.","security":[{"token":["user:read"]}],"parameters":[{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["id","name","identifier","subsidiary","category","permissions","description","managementType"]}}},{"name":"category","in":"query","schema":{"type":"string","enum":["organization","team"]},"example":"team","description":"Set this parameter to `organization` or `team` to get user roles in an organization or in a team."},{"name":"organizationId","in":"query","schema":{"type":"integer"},"example":1,"description":"Include custom roles belonging to this organization. Can be combined with `teamId`; if both are provided and the team does not belong to the organization, the request returns `400`. If the organization does not have the `customRoles` license, or the caller lacks permission to view that organization's users, custom roles are silently excluded from the response while the system roles are still returned."},{"name":"teamId","in":"query","schema":{"type":"integer"},"example":1,"description":"Include custom roles belonging to the organization that owns this team. Can be combined with `organizationId`; if both are provided and the team does not belong to the organization, the request returns `400`. If the organization does not have the `customRoles` license, or the caller lacks permission to view that organization's users, custom roles are silently excluded from the response while the system roles are still returned."},{"name":"roleId","in":"query","schema":{"type":"integer"},"example":42,"description":"Filter the response to a single role by its ID."},{"name":"excludeRole[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"example":[1,3],"description":"Exclude roles with these IDs from the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"usersRoles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"identifier":{"type":"string"},"subsidiary":{"type":"boolean"},"category":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"managementType":{"type":"string","enum":["system_locked","admin_managed","custom_managed"],"description":"Indicates how the role is managed.","example":"system_locked"},"description":{"type":"string","nullable":true}}}}}},"examples":{"list":{"summary":"List all user roles","description":"Get all existing user role IDs and the corresponding role names.","value":{"usersRoles":[{"id":1,"name":"Team Admin"},{"id":3,"name":"Team Member"},{"id":4,"name":"Team Monitoring"},{"id":6,"name":"Team Operator"},{"id":11,"name":"Owner"},{"id":12,"name":"Admin"},{"id":13,"name":"Member"},{"id":14,"name":"Accountant"}]}},"all-cols":{"summary":"List all columns","description":"Get all existing user role IDs and the corresponding role names. The response contains all columns available in the endpoint.","value":{"usersRoles":[{"id":1,"name":"Team Admin","identifier":"company:team-admin","subsidiary":true,"category":"team","description":"Team Admin has full access to all data within the team. Only team admins can create custom functions.","permissions":["account add","account delete","account edit","accounts get","datastore add","datastore delete","datastore edit","datastores get","datastore view","device add","device delete","device edit","devices get","dlq edit","dlq view","function add","function delete","function edit","functions get","hook add","hook delete","hook edit","hooks get","key add","key delete","key edit","keys get","scenario add","scenario delete","scenario edit","scenario logs get","scenario notifications","scenario reset counters","scenario scheduling","scenarios get","scenario start","scenario stop","scenario verify","scenario view","storage edit","storage view","team delete","team edit","team user add and edit","team view","template add","template delete","template edit","templates get","template view","udt add","udt delete","udt edit","udts get"]},{"id":3,"name":"Team Member","identifier":"company:team-member","subsidiary":true,"category":"team","description":null,"permissions":["account add","account delete","account edit","accounts get","datastore add","datastore delete","datastore edit","datastores get","datastore view","device add","device delete","device edit","devices get","dlq edit","dlq view","function add","function delete","function edit","functions get","hook add","hook delete","hook edit","hooks get","key add","key delete","key edit","keys get","scenario add","scenario delete","scenario edit","scenario logs get","scenario notifications","scenario reset counters","scenario scheduling","scenarios get","scenario start","scenario stop","scenario verify","scenario view","storage edit","storage view","team edit","team view","template add","template delete","template edit","templates get","template view","udt add","udt delete","udt edit","udts get"]},{"id":4,"name":"Team Monitoring","identifier":"company:team-monitoring","subsidiary":true,"category":"team","description":"Team Monitoring has read-only access to the team, scenarios, and templates.","permissions":["dlq view","scenario logs get","scenario notifications","scenario reset counters","scenarios get","scenario view","team view","templates get","template view"]},{"id":6,"name":"Team Operator","identifier":"company:team-operator","subsidiary":true,"category":"team","description":null,"permissions":["accounts get","datastores get","datastore view","devices get","dlq view","functions get","hooks get","keys get","scenario logs get","scenario notifications","scenario reset counters","scenario scheduling","scenarios get","scenario start","scenario stop","scenario verify","scenario view","storage view","team view","templates get","template view","udts get"]}]}}}}}},"400":{"description":"Bad request. Returned when `organizationId` and `teamId` are both provided and the team does not belong to the specified organization."}}}},"/users/roles/{roleId}":{"get":{"tags":["Users / Roles"],"summary":"Get role detail","description":"Returns the detail of a single role by its ID. For custom-managed roles, requires the `customRoles` license and `ORGANIZATION_USERS_VIEW` permission on the role's organization.","security":[{"token":["user:read"]}],"parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"integer"},"example":42,"description":"The ID of the role."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"usersRole":{"type":"object","properties":{"id":{"type":"integer","example":42},"name":{"type":"string","example":"Custom Viewer"},"identifier":{"type":"string","example":"custom_viewer"},"category":{"type":"string","enum":["organization","team"],"example":"organization"},"subsidiary":{"type":"boolean","example":true},"managementType":{"type":"string","enum":["system_locked","admin_managed","custom_managed"],"example":"custom_managed"},"description":{"type":"string","nullable":true,"example":"Read-only access to organization resources."},"organizationId":{"type":"integer","nullable":true,"example":1},"permissions":{"type":"array","items":{"type":"string"},"example":["scenario view","scenario start"]}}}}},"examples":{"custom-role":{"summary":"Custom role","value":{"usersRole":{"id":42,"name":"Custom Viewer","identifier":"custom_viewer","category":"organization","subsidiary":true,"managementType":"custom_managed","description":"Read-only access to organization resources.","organizationId":1,"permissions":["scenario view","scenario start"]}}},"system-role":{"summary":"System role","value":{"usersRole":{"id":1,"name":"Team Admin","identifier":"team_admin","category":"team","subsidiary":false,"managementType":"system_locked","description":null,"organizationId":null,"permissions":[]}}}}}}},"400":{"description":"Not available on self-hosted (private) deployments."},"403":{"description":"Insufficient rights or the organization does not have the `customRoles` license."},"404":{"description":"Role not found."}}}},"/users/roles/permissions":{"get":{"tags":["Users / Roles"],"summary":"User role permission definitions","description":"Gets a list of all available permissions that can be assigned to user roles. Use the `roleCategory` parameter to filter permissions by team or organization roles.","security":[{"token":["user:read"]}],"parameters":[{"name":"roleCategory","in":"query","required":false,"schema":{"type":"string","enum":["team","organization"]},"example":"team","description":"Filter permissions by role category. Use `team` for team role permissions or `organization` for organization role permissions."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"usersRolesPermissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier of the permission.","example":1},"name":{"type":"string","description":"Name of the permission.","example":"account add"},"note":{"type":"string","description":"Additional note about the permission.","example":""},"category":{"type":"string","description":"Functional category the permission belongs to.","example":"accounts"},"roleCategory":{"type":"string","enum":["team","organization"],"description":"Whether this permission applies to team roles or organization roles.","example":"team"},"label":{"type":"string","description":"A key to the dictionary on imt-web-zone for the permission label.","example":""},"customRolesHidden":{"type":"boolean","description":"If true, the permission is hidden from custom role configuration and cannot be assigned to a custom role.","example":false},"requires":{"type":"array","items":{"type":"integer"},"description":"IDs of the permissions this permission depends on. When this permission is granted to a custom role, every permission listed here must also be granted. An empty array means no dependencies.","example":[]}}}}}},"example":{"usersRolesPermissions":[{"id":1,"name":"account add","note":"","category":"accounts","roleCategory":"team","label":"","customRolesHidden":false,"requires":[]},{"id":2,"name":"account delete","note":"","category":"accounts","roleCategory":"team","label":"","customRolesHidden":false,"requires":[]},{"id":3,"name":"account edit","note":"","category":"accounts","roleCategory":"team","label":"","customRolesHidden":false,"requires":[4]},{"id":4,"name":"accounts get","note":"","category":"accounts","roleCategory":"team","label":"","customRolesHidden":false,"requires":[]}]}}}}}}},"/users/{userId}/user-organization-roles":{"get":{"tags":["Users / User organization roles"],"summary":"List user roles in an organization","description":"Gets list of all users and their roles in the organization with the specified `organizationId`. Get all user role IDs with the API call `GET /users/roles`.","security":[{"token":["user:read"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the user.","example":111},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["userId","organizationId","usersRoleId","invitation","organizationTeamsCount","joinedTeamsCount"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRoles":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}}}}},"examples":{"default-cols":{"summary":"Get user roles","description":"List all users in the organization and their organization roles.","value":{"userOrganizationRoles":[{"userId":1,"organizationId":1,"usersRoleId":11,"invitation":null},{"userId":1,"organizationId":2,"usersRoleId":11,"invitation":null}]}},"all-cols":{"summary":"Get all columns","description":"List all users in the organization and their organization roles. The example response contains all available columns.","value":{"userOrganizationRoles":[{"userId":1,"organizationId":1,"usersRoleId":11,"invitation":null,"organizationTeamsCount":8,"joinedTeamsCount":7},{"userId":1,"organizationId":2,"usersRoleId":11,"invitation":null,"organizationTeamsCount":2,"joinedTeamsCount":2}]}}}}}}}}},"/users/{userId}/user-organization-roles/{organizationId}":{"get":{"tags":["Users / User organization roles"],"summary":"Get user organization role details","description":"Gets information about user role in an organization with the specified `userId` and `organizationId`. Get all user role IDs with the API call `GET /users/roles`.","security":[{"token":["user:read"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true,"example":254,"description":"The ID of the user"},{"name":"organizationId","in":"path","schema":{"type":"string"},"required":true,"example":11,"description":"The ID of the organization"},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["userId","organizationId","userRoleId","invitation","organizationTeamsCount","joinedTeamsCount"]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRole":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"},"organizationTeamsCount":{"type":"integer"},"joinedTeamsCount":{"type":"integer"}}}}},"examples":{"default-cols":{"summary":"Get user role detail","description":"Get the user role in the organization.","value":{"userOrganizationRole":{"userId":254,"organizationId":11,"usersRoleId":11,"invitation":null}}},"all-cols":{"summary":"Get all columns","description":"Get all available columns of the user role in the organization.","value":{"userOrganizationRole":{"userId":254,"organizationId":11,"usersRoleId":11,"invitation":null,"organizationTeamsCount":2,"joinedTeamsCount":2}}}}}}}}},"post":{"tags":["Users / User organization roles"],"summary":"Update user role","description":"Updates the specified user role in the organization. Only organization owners and admins can change the user organization roles. Refer to the Make Help center for a breakdown of the user [role permissions](https://www.make.com/en/help/access-management/organizations#organization-roles).\n\nSpecify the ID of the new role for the user in the request body. Get all available user role IDs and the corresponding user role names with the API call `GET /users/roles`.\n\nYou cannot change the organization \"Owner\" with this endpoint. Use the API call to [transfer organization ownership](./post--users--userid--user-organization-roles--organizationid--transfer.md) instead.\n\nIf you send an empty request body, the user with the specified `userId` will be removed from the organization.\n","security":[{"token":["user:write"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"integer"},"required":true,"example":5,"description":"The ID of the user."},{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"example":22,"description":"The ID of the organization."},{"name":"cols","in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/api-documentation/pagination-sorting-filtering/filtering)\n","examples":{"all-cols":{"value":["userId","organizationId","usersRoleId","invitation","organizationTeamsCount","joinedTeamsCount"]}}},{"name":"confirmed","in":"query","schema":{"type":"boolean"},"examples":{"remove-user":{"value":true}},"description":"Use this parameter when you are removing a user from an organization. Set this parameter to `true` is you want to delete the user's connections from the organization with the parameter `deleteConnections`."},{"name":"deleteConnections","in":"query","schema":{"type":"boolean"},"examples":{"remove-user":{"value":true}},"description":"Set this parameter to `true` if you are removing a user from an organization to delete also the user's connections. If you set this parameter to `false`, the API call won't delete the user's connections."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"usersRoleId":{"type":"integer","description":"The ID of the user role. Check the `GET /users/roles` API call for the available `usersRoleId` values."}}},"examples":{"set-user-role":{"summary":"Set user role","description":"Set the user role in the organization. Get all user role IDs with the API call `GET /users/roles`.","value":{"usersRoleId":12}},"all-cols":{"summary":"Set user data all cols","description":"Set user role in the organization. The response returns all available columns for the user role in the organization.","value":{"usersRoleId":12}},"remove-user":{"summary":"Remove user from organization","description":"To remove a user from the organization send empty request body.","value":""}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRole":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"string"}}}}},"examples":{"set-user-role":{"value":{"userOrganizationRole":{"userId":5,"organizationId":22,"usersRoleId":12,"invitation":null}}},"all-cols":{"value":{"userOrganizationRole":{"userId":5,"organizationId":22,"usersRoleId":12,"invitation":null,"organizationTeamsCount":2,"joinedTeamsCount":2}}},"remove-user":{"value":{"userOrganizationRole":{"userId":5,"organizationId":22,"usersRoleId":null,"invitation":null}}}}}}}}}},"/users/{userId}/user-organization-roles/{organizationId}/transfer":{"post":{"tags":["Users / User organization roles"],"summary":"Transfer organization ownership","description":"Transfer organization ownership to the user with the specified `userId`. Only organization owner can transfer their ownership to another user.","security":[{"token":["user:write"]}],"parameters":[{"name":"userId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the user.","example":111},{"name":"organizationId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the organization.","example":11}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userOrganizationRoles":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer"},"organizationId":{"type":"integer"},"usersRoleId":{"type":"integer"},"invitation":{"type":"boolean"}}}}}},"example":{"userOrganizationRoles":[{"userId":111,"organizationId":11,"usersRoleId":11,"invitation":null},{"userId":1,"organizationId":11,"usersRoleId":12,"invitation":null}]}}}}}}},"/users/unread-notifications":{"get":{"tags":["Users / Unread notifications"],"summary":"Unread notifications","description":"Gets the number of unread notifications for the currently authenticated user.","security":[{"token":["user:read"]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"userUnreadNotifications":{"type":"integer"},"userZoneUnreadNotifications":{"type":"array","items":{"type":"object","properties":{"zoneId":{"type":"integer"},"unreadNotifications":{"type":"integer"}}}}}},"example":{"userUnreadNotifications":2}}}}}}},"/mailhub/users/{userId}/preferences":{"get":{"tags":["Users / User email preferences - Mailhub"],"summary":"Get preferences","parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"preferences":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"email":{"type":"string","format":"email"},"is_email_verified":{"type":"boolean"},"global":{"type":"object","properties":{"isEmailVerified":{"type":"boolean"},"preferences":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"label":{"type":"string"},"description":{"type":"string"}}}}}},"zones":{"type":"array","items":{}}}}}},"examples":{"get-preferences":{"summary":"Get preferences","value":{"preferences":{"id":1,"uuid":"e39de7bc-95b0-443c-83e9-ac397ea8f004","email":"admin@make.cloud","is_email_verified":true,"global":{"isEmailVerified":true,"preferences":[{"id":"use_cases","enabled":false,"label":"Use Cases","description":"Get new Make use cases delivered to your inbox."},{"id":"product_updates","enabled":false,"label":"Product Updates","description":"Product and feature updates including new releases and important changes."},{"id":"app_updates","enabled":false,"label":"App Updates","description":"Get notified about new apps and services as they become available, as well as changes in the existing apps."},{"id":"events_and_webinars","enabled":false,"label":"Events and Webinars","description":"Get notified about Make events and webinars including demos, discussions and community events."},{"id":"promotions","enabled":false,"label":"Offers and Promotions","description":"Latest promotions and discounts delivered to your inbox."},{"id":"channel_partner_updates","enabled":false,"label":"Partnerships","description":"Emails with exclusive information for Make partners such as partner updates and resources."},{"id":"academy","enabled":false,"label":"Academy","description":"Receive the latest content from Make Academy including videos, tutorials and educational events."},{"id":"blog","enabled":false,"label":"Blog and Newsletter","description":"Get the latest advice, resources and updates on all things Make and no-code automation."}]},"zones":[]}}}}}}}}},"patch":{"tags":["Users / User email preferences - Mailhub"],"summary":"Update global preferences","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"}}},"example":{"id":"use_cases","enabled":true}}}},"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"preferences":{"type":"object","properties":{"global":{"type":"object","properties":{"preferences":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"}}}}}}}}},"examples":{"update-global-preferences":{"summary":"Update global preferences","value":{"preferences":{"global":{"preferences":{"id":"use_cases","enabled":true}}}}}}}}}}}},"/mailhub/users/{userId}/organizations/{organizationId}/teams/{teamId}/preferences":{"get":{"tags":["Users / User email preferences - Mailhub"],"summary":"Get team preferences","parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true},{"name":"organizationId","in":"path","schema":{"type":"string"},"required":true},{"name":"teamId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"email":{"type":"string","format":"email"},"is_email_verified":{"type":"boolean"},"team":{"type":"object","properties":{"teamId":{"type":"integer"},"teamName":{"type":"string"},"preferences":{"type":"object","properties":{"native":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"subscribed":{"type":"boolean"},"label":{"type":"string"},"description":{"type":"string"}}}},"marketing":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"label":{"type":"string"},"description":{"type":"string"}}}}}}}}}},"examples":{"get-team-preferences":{"summary":"Get team preferences","value":{"id":3,"uuid":"4c090605-19a1-46b9-a3f3-a2cb83e8adc1","email":"petr.malimanek@make.com","is_email_verified":true,"team":{"teamId":10,"teamName":"My Team","preferences":{"native":[{"id":6,"subscribed":true,"label":"Deactivation","description":"Get notified when your scenario gets deactivated due to critical issues such as multiple consecutive errors."},{"id":2,"subscribed":false,"label":"Warnings","description":"Warnings encountered by your scenarios that need your attention, such as failure to connect with your apps and services."},{"id":1,"subscribed":true,"label":"Errors","description":"Notifications about errors encountered by specific modules in your scenarios that keep your workflows from running smoothly."}],"marketing":[{"id":"onboarding","enabled":false,"label":"Tips For Success","description":"Organization-specific emails to help you succeed with Make and make the most of your subscription."}]}}}}}}}}}},"patch":{"tags":["Users / User email preferences - Mailhub"],"summary":"Update team preferences","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"}}},"example":{"id":"onboarding","enabled":true}}}},"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true},{"name":"organizationId","in":"path","schema":{"type":"string"},"required":true},{"name":"teamId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"team":{"type":"object","properties":{"preferences":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"}}}}}}},"examples":{"update-team-preferences":{"summary":"Update team preferences","value":{"team":{"preferences":{"id":"onboarding","enabled":false}}}}}}}}}}},"/mailhub/users/{userId}/organizations/{organizationId}/teams/{teamId}/native-preferences":{"patch":{"tags":["Users / User email preferences - Mailhub"],"summary":"Update team native preferences","description":"Updates a native email notification preference of a team for the user associated with the API key used for authentication.\n\nSome notification types require a specific team permission. Enabling such a type for a user who does not hold the required permission fails with `403`. Disabling a notification type is always allowed, regardless of permissions or feature flags.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"utc-millisec"},"enabled":{"type":"boolean"}}},"example":{"id":"1","enabled":true}}}},"parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true},{"name":"organizationId","in":"path","schema":{"type":"string"},"required":true},{"name":"teamId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"team":{"type":"object","properties":{"preferences":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"}}}}}}},"examples":{"update-team-native-preferences":{"summary":"Update team native preferences","value":{"team":{"preferences":{"id":"onboarding","enabled":false}}}}}}}},"403":{"description":"Forbidden - the user lacks the team permission required to enable this notification type","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}},"example":{"message":"Insufficient rights","code":"IM002"}}}}}}}}}