Connect a Twilio account
curl --request POST \
--url https://guidinghand.ai/v1/phone_connections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_sid": "AC0123456789abcdef0123456789abcdef",
"api_key_sid": "SK0123456789abcdef0123456789abcdef",
"api_key_secret": "<string>",
"name": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_sid: 'AC0123456789abcdef0123456789abcdef',
api_key_sid: 'SK0123456789abcdef0123456789abcdef',
api_key_secret: '<string>',
name: '<string>'
})
};
fetch('https://guidinghand.ai/v1/phone_connections', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://guidinghand.ai/v1/phone_connections"
payload = {
"account_sid": "AC0123456789abcdef0123456789abcdef",
"api_key_sid": "SK0123456789abcdef0123456789abcdef",
"api_key_secret": "<string>",
"name": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"object": "phone_connection",
"id": "pc_8c1d2e3f9a0c1d2e4b5a6978",
"provider": "twilio",
"name": "Acme support",
"account_sid": "<string>",
"api_key_sid": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"trial": true,
"numbers": 123
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}Phone numbers
Connect a Twilio account
Connects a Twilio account with an API key of it. The key is tried on the account first. Needs the admin role or an API key.
POST
/
v1
/
phone_connections
Connect a Twilio account
curl --request POST \
--url https://guidinghand.ai/v1/phone_connections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_sid": "AC0123456789abcdef0123456789abcdef",
"api_key_sid": "SK0123456789abcdef0123456789abcdef",
"api_key_secret": "<string>",
"name": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_sid: 'AC0123456789abcdef0123456789abcdef',
api_key_sid: 'SK0123456789abcdef0123456789abcdef',
api_key_secret: '<string>',
name: '<string>'
})
};
fetch('https://guidinghand.ai/v1/phone_connections', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://guidinghand.ai/v1/phone_connections"
payload = {
"account_sid": "AC0123456789abcdef0123456789abcdef",
"api_key_sid": "SK0123456789abcdef0123456789abcdef",
"api_key_secret": "<string>",
"name": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"object": "phone_connection",
"id": "pc_8c1d2e3f9a0c1d2e4b5a6978",
"provider": "twilio",
"name": "Acme support",
"account_sid": "<string>",
"api_key_sid": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"trial": true,
"numbers": 123
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"code": "<string>",
"test_case_ids": [
"<string>"
],
"decided_by": {
"type": "person",
"email": "<string>",
"key_id": "<string>"
},
"conversation_id": "<string>",
"agent_id": "<string>",
"approval_id": "<string>",
"question_id": "<string>"
}
}Authorizations
An org API key (gh_live_…) from Settings → API keys in the console.
Body
application/json
Example:
"AC0123456789abcdef0123456789abcdef"
A Standard API key of the account (Twilio console → Account → API keys).
Example:
"SK0123456789abcdef0123456789abcdef"
Kept encrypted, and never returned.
Defaults to the account's name in Twilio.
Response
OK
A Twilio account the org connected, to bring its numbers.
Allowed value:
"phone_connection"Example:
"pc_8c1d2e3f9a0c1d2e4b5a6978"
Allowed value:
"twilio"Example:
"Acme support"
A Twilio trial account: callers hear Twilio's trial message first.
Its numbers on Eager.