Skip to content

computers.approveComputerPairing

POST
/v1/computer-pairings/{code}/approve
curl --request POST \
--url https://example.com/v1/computer-pairings/example/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "shared": true }'

Approves a machine. OpenBot creates a connector Computer for it, and the machine gets its token on its next poll. The Computer belongs to the caller, or to the organization when shared is true. When the same machine pairs again, OpenBot keeps its Computer and only changes the token. Only a person can approve.

code
required
string
>= 1 characters <= 32 characters
Media typeapplication/json
object
name
string
>= 1 characters <= 120 characters
shared
boolean

Example generated

{
"name": "example",
"shared": true
}

Success

Media typeapplication/json
object
id
required
string
>= 1 characters <= 128 characters
name
required
string
owner
required
Any of:
object
_tag
required
string
Allowed values: Member
userId
required
string
source
required
Any of:
object
_tag
required
string
Allowed values: Provider
provider
required
string
>= 1 characters <= 128 characters
template
required
Any of:
string
state
required
string
Allowed values: starting running paused offline failed
features
required
object
pause
required
boolean
desktop
required
boolean
ports
required
boolean
pauseAfter
required
Any of:
integer
>= 60 <= 604800
createdBy
required
string
version
required
integer
<= 9007199254740991
createdAt
required
number
updatedAt
required
number
lastActiveAt
required
Any of:
number

Example

{
"owner": {
"_tag": "Member"
},
"source": {
"_tag": "Provider"
},
"state": "starting"
}

ComputerInvalid | OrganizationRequired

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: ComputerInvalid
message
required
string

Example

{
"_tag": "ComputerInvalid"
}

AuthenticationRequired

Media typeapplication/json
object
_tag
required
string
Allowed values: AuthenticationRequired

Example

{
"_tag": "AuthenticationRequired"
}

PermissionDenied | MembershipRequired | ForbiddenOrigin

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: PermissionDenied
permission
required
string
Allowed values: responses.run sessions.read sessions.write requests.resolve bots.read bots.write bots.delegate bots.share triggers.read triggers.write channels.read channels.write channels.use channel_identities.read channel_identities.write connections.read connections.write apps.use apps.publish computers.read computers.write computers.use computer_providers.read computer_providers.write computer_providers.use models.use tokens.read tokens.write organization.read organization.write roles.write model_providers.read model_providers.write sso.read sso.write platform.read platform.write members.read members.write audit_logs.read usage.read budgets.read budgets.write
resource
required
string

Example

{
"_tag": "PermissionDenied",
"permission": "responses.run"
}

ComputerNotFound | ComputerProviderNotFound | PairingInvalid

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: ComputerNotFound
id
required
string

Example

{
"_tag": "ComputerNotFound"
}

ComputerConflict | ComputerUnsupported | ComputerNotReady

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: ComputerConflict
version
required
integer
<= 9007199254740991

Example

{
"_tag": "ComputerConflict"
}

RateLimited

Media typeapplication/json
object
_tag
required
string
Allowed values: RateLimited
retryAfterSeconds
required
integer
>= -9007199254740991 <= 9007199254740991

Example

{
"_tag": "RateLimited"
}

ComputerProviderFailed

Media typeapplication/json
object
_tag
required
string
Allowed values: ComputerProviderFailed
message
required
string

Example

{
"_tag": "ComputerProviderFailed"
}

AuthorizationUnavailable | ComputersUnavailable | AuthenticationUnavailable

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: AuthorizationUnavailable

Example

{
"_tag": "AuthorizationUnavailable"
}