twilio-node
twilio-node copied to clipboard
Incorrect types for PhoneNumberCapabilities
Issue Summary
The TypeScript types for phone number capabilities are wrong. The types are all lowercase, but the actual API response has some uppercase keys. Also, the types say fax
will be present, but it is absent.
Steps to Reproduce

Code Snippet
import { Twilio } from "twilio";
const keySid = "REDACTED";
const keySecret = "REDACTED";
const accountSid = "REDACTED";
const client = new Twilio(keySid, keySecret, { accountSid });
const [phoneNumber] = await client.availablePhoneNumbers("US").local.list();
console.log(Object.keys(phoneNumber.capabilities));
// [ 'voice', 'SMS', 'MMS' ]
Technical details:
- twilio-node version: 3.83.3
- node version: 16.8.1
Hello @stephenwade. Thanks for pointing this out. I was able to reproduce the issue where the payload from the API and the phoneNumber.capabilities
properties differ from the TS type. The SMS
and MMS
property names were all uppercase rather than lowercase. I'll check what the correct property names are for these should be.
Although, my API response and phoneNumber.capabilities
object contained the fax
property as well. I wasn't able to reproduce the missing fax
property on my end.
Thanks for the reply @Hunga1! I guess you can ask the dev team what properties are optional and make those optional properties in the types. I can definitely reproduce the missing fax
property every time so I think it should be optional (fax?: boolean
).
This issue has been added to our internal backlog to be prioritized (internal ref: DI-2467).