Week of September 14
Fixes from using the console every day, and a pass over the guides to make them match what the API does.
Invite someone again
When a person disconnected your application from their Layout account, there was no way back: provisioning the same number failed and resending the link did too. Now provisioning that number again, or pressing Resend link, starts a fresh invite on the same application. Someone with their own Layout account still has to approve you again before you can build for them.
The right link to the right person
- Provisioning and resending from the console texts the approval link to a number that already has Layout, and the sign-up link to a new number. Before, both got the sign-up link, which signed the person in without connecting them to you.
- The approval text carries a full link to tap, not a short code that looked like a verification code.
- Sandbox never texts an approval link. Where the API would have texted an approval link in production, a sandbox call answers
next: "connect"with the link for you to open yourself. - The console says what happened after you provision or resend: a link texted, already connected, or not texted because it is sandbox.
Errors that explain themselves
When the API rejects a console request with a reason, the console now shows that reason instead of a generic "Check the details and try again". A person who revoked your access, a send that failed and an opted-out number each get their own message.
One search everywhere
The console's search box now runs the same search as the docs: every section of every page, ranked, with the matching words highlighted and ⌘K to open it.
Guides corrected
- Ordering over MCP describes connecting with a build grant token and the three tools that session can call.
- Provisioning users shows that Layout texts the approval link by default, with
next: "awaiting_user_approval". - Event types marks
order.needs_approvalandorder.challengeas reserved and not sent today. - Rate limits and idempotency lists the daily build ceilings the API actually enforces.
Breaking changes
None. If you built a handler that waits on order.needs_approval or order.challenge, it will not fire yet.