im.addresses works with contact addresses before they become chats. An address is a full email address or an E.164 phone number. It is not a chat GUID, a contact display name, or a short code.
Use this namespace when you need to answer one of these questions:
im.addresses only checks address-level state. After you have a chat.guid, send, edit, unsend, reply, and notify through the messages API.
Input Format
Everyim.addresses method accepts the same address argument:
Phone numbers must be E.164: include the country code, start with
+, and omit spaces, parentheses, and dashes.
Common Flow
Before you create a new chat, the most common preflight check is iMessage availability:isIMessageAvailable(...) is a check only. It does not create a chat. im.chats.create(...) creates or resolves the chat and returns the chat.guid used by message APIs.
Check iMessage Availability
boolean:
Use this before starting a new conversation when you want to avoid sending iMessage traffic to an address that is clearly unreachable.
Availability is a live Apple lookup.
true means it is reasonable to continue creating a chat and sending a message, but it does not guarantee that the later send will succeed. Network conditions, account state, or Apple service state can still change.Get Address Details
MultiServiceAddressInfo:
get(...) throws NotFoundError when the server has no record for the address.
If you only need to know whether the address can use iMessage, call
isIMessageAvailable(...). Use get(...) when you need address details such as country or available services.Check Focus Status
boolean:
Focus is a live Apple state, not a long-term recipient preference. This method tells you whether the recipient may be silencing notifications right now. To trigger Apple’s “Notify Anyway” action after sending, use
im.messages.notifySilenced(...) with chat.guid and message.guid.
Next Steps
- Chats — create a chat from an address and get
chat.guid - Messages — send text, attachments, and replies with
chat.guid - Error Handling — handle
NotFoundError, retries, and structured error context