A real apology does three things: it names what you did, it recognizes how that affected the other person, and it says what you will do about it. Anything that shifts the blame undoes the rest.
What you did, in plain words.
“I missed your birthday dinner” is an apology. “I’m sorry if you were upset” is not.
How it affected them.
Show that you understand what it was like on their side: the empty chair, the extra work, the embarrassment.
How you will put it right.
Offer something concrete where you can: a new date, a replacement, a changed habit.
No conditions.
Leave the next step to them. An apology that demands forgiveness is a request, not an apology.