Integration routes: reconnect, refresh, resume, revoke
The Integration Verbs reconnect, refresh, resume, revoke as api.sb routes, with inputs, result, refusals and an example.
Reference for Integration, one group of Integration routes.
Integration.reconnect
Reconnect re-approves an Integration in place, keeping its id and cursor, so nothing re-imports. Verb page.
POST /{namespace}/ integrations/ {integration}/ reconnectPath: integration. Emits Integration.reconnected.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The Integration in needsReauth. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
connectUrl | url | required | The approval page; it expires in one hour. |
integration | Integration | required | The Integration, its id and cursor kept. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy/ reconnect \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"connectUrl": "https: //leaseline.app",
"integration": {
"$id": "https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy",
"$type": "Integration",
"acquired": "owned",
"scope": "studio",
"mode": "mirror",
"state": "connecting"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Integration.reconnect",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Integration.refresh
Refresh renews an Integration’s outside token before it expires; a refused refresh moves it to needsReauth. Verb page.
POST /{namespace}/ integrations/ {integration}/ refreshPath: integration. Emits Integration.refreshed.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The Integration to refresh. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The Integration with a new refreshedAt, or in needsReauth. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy/ refresh \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"integration": {
"$id": "https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy",
"$type": "Integration",
"acquired": "owned",
"scope": "studio",
"mode": "mirror",
"state": "connecting"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Integration.refresh",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Integration.resume
Resume restarts a paused Integration from its cursor and releases the Actions that waited on it. Verb page.
POST /{namespace}/ integrations/ {integration}/ resumePath: integration. Emits Integration.resumed.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The paused Integration. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The Integration, connected. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy/ resume \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"integration": {
"$id": "https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy",
"$type": "Integration",
"acquired": "owned",
"scope": "studio",
"mode": "mirror",
"state": "connecting"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Integration.resume",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Integration.revoke
Revoke ends an Integration at once: its token is revoked with the upstream, and every record it brought in stays. Verb page.
POST /{namespace}/ integrations/ {integration}/ revokePath: integration. Body, as JSON: the other inputs. Emits Integration.revoked.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The Integration to end. |
reason | text | Why, kept on the Integration. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
integration | Integration | required | The Integration, revoked. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy/ revoke \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"integration": {
"$id": "https: //api.sb/ leaseline.app/ integrations/ integration_alVwjQcmRy",
"$type": "Integration",
"acquired": "owned",
"scope": "studio",
"mode": "mirror",
"state": "connecting"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Integration.revoke",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}