openapi: 3.0.3 info: title: AT&T In-App Messaging Authentication Messages API description: A messaging API enabling applications to send, receive, update, and delete MMS and SMS messages on behalf of AT&T users with explicit OAuth consent. Supports messages to phone numbers, short codes, and email addresses across AT&T and other carriers with full inbox management and delta synchronization. version: '2.0' contact: url: https://developer.att.com/support termsOfService: https://www.att.com/gen/general?pid=11561 x-generated-from: documentation x-last-validated: '2026-04-19' servers: - url: https://api.att.com description: AT&T API Gateway tags: - name: Messages paths: /myMessages/v2/messages: post: operationId: sendMessage summary: AT&T Send MMS or SMS Message description: Send an MMS or SMS message on behalf of the authenticated user to one or more recipients. Supports SMS (up to 160 characters) and MMS (up to 1 MB with up to 21 attachments). Supports cross-carrier delivery and group messaging. tags: - Messages security: - oauth2: - IMMN requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SendMessageRequest' examples: SendMessageRequestExample: summary: Default sendMessage request x-microcks-default: true value: messageRequest: addresses: - tel:+12125551234 text: Hello from the AT&T In-App Messaging API! subject: Greeting responses: '201': description: Message successfully sent content: application/json: schema: $ref: '#/components/schemas/SendMessageResponse' examples: SendMessage201Example: summary: Default sendMessage 201 response x-microcks-default: true value: id: msg-500123 resourceURL: https://api.att.com/myMessages/v2/messages/msg-500123 '400': description: Bad request - invalid parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized - invalid or expired token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listMessages summary: AT&T List Messages description: Retrieve a list of messages from the authenticated user's inbox. Supports filtering by message type, read status, and time range. Returns message metadata without the full message content. tags: - Messages security: - oauth2: - MIM parameters: - name: limit in: query required: false description: Maximum number of messages to return schema: type: integer minimum: 1 maximum: 500 example: 50 - name: offset in: query required: false description: Number of messages to skip for pagination schema: type: integer minimum: 0 example: 0 - name: isUnread in: query required: false description: Filter to only unread messages when true schema: type: boolean example: true responses: '200': description: Message list successfully retrieved content: application/json: schema: $ref: '#/components/schemas/MessageListResponse' examples: ListMessages200Example: summary: Default listMessages 200 response x-microcks-default: true value: messageResultSet: messages: - messageId: msg-500123 from: tel:+12125551234 recipients: - tel:+12125559999 isUnread: false isIncoming: true type: TEXT typeCode: '1' timeStamp: '2026-04-19T14:30:00Z' totalCount: 1 offset: 0 limit: 50 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /myMessages/v2/messages/{messageId}: get: operationId: getMessage summary: AT&T Get Message Details description: Retrieve the full details and content of a specific message by its ID, including text content, attachments, sender, recipients, and metadata. tags: - Messages security: - oauth2: - MIM parameters: - name: messageId in: path required: true description: Unique message identifier schema: type: string example: msg-500123 responses: '200': description: Message details successfully retrieved content: application/json: schema: $ref: '#/components/schemas/MessageDetail' examples: GetMessage200Example: summary: Default getMessage 200 response x-microcks-default: true value: message: messageId: msg-500123 from: tel:+12125551234 recipients: - tel:+12125559999 text: Hello from the AT&T In-App Messaging API! subject: Greeting isUnread: false isIncoming: true type: TEXT typeCode: '1' timeStamp: '2026-04-19T14:30:00Z' '404': description: Message not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateMessage summary: AT&T Update Message Properties description: Update the properties of a message, such as marking it as read or unread. Only the isUnread field can be modified. tags: - Messages security: - oauth2: - MIM parameters: - name: messageId in: path required: true description: Unique message identifier schema: type: string example: msg-500123 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateMessageRequest' examples: UpdateMessageRequestExample: summary: Default updateMessage request x-microcks-default: true value: message: isUnread: false responses: '200': description: Message successfully updated content: application/json: schema: $ref: '#/components/schemas/UpdateMessageResponse' examples: UpdateMessage200Example: summary: Default updateMessage 200 response x-microcks-default: true value: id: msg-500123 '404': description: Message not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteMessage summary: AT&T Delete Message description: Permanently delete a specific message from the user's inbox by its ID. This action cannot be undone. tags: - Messages security: - oauth2: - MIM parameters: - name: messageId in: path required: true description: Unique message identifier schema: type: string example: msg-500123 responses: '204': description: Message successfully deleted '404': description: Message not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: SendMessageResponse: type: object properties: id: type: string description: Unique identifier for the sent message example: msg-500123 resourceURL: type: string format: uri description: URL to access the message resource example: https://api.att.com/myMessages/v2/messages/msg-500123 UpdateMessageRequest: type: object properties: message: type: object properties: isUnread: type: boolean description: Updated read status of the message example: false MessageListResponse: type: object properties: messageResultSet: type: object properties: messages: type: array items: $ref: '#/components/schemas/MessageSummary' totalCount: type: integer description: Total number of messages matching the query example: 1 offset: type: integer description: Current pagination offset example: 0 limit: type: integer description: Maximum messages per page example: 50 SendMessageRequest: type: object required: - messageRequest properties: messageRequest: type: object required: - addresses properties: addresses: type: array description: List of recipient phone numbers or email addresses items: type: string example: - tel:+12125551234 text: type: string description: SMS text content (up to 160 chars for SMS, longer for MMS) example: Hello from the AT&T In-App Messaging API! subject: type: string description: Subject line (MMS only) example: Greeting group: type: boolean description: If true, send as a group message example: false ErrorResponse: type: object properties: RequestError: type: object properties: ServiceException: type: object properties: MessageId: type: string description: Error message ID example: SVC0002 Text: type: string description: Human-readable error description example: Invalid input value for message part Variables: type: string description: Additional error context example: address MessageSummary: type: object properties: messageId: type: string description: Unique message identifier example: msg-500123 from: type: string description: Sender address (phone number or email) example: tel:+12125551234 recipients: type: array description: List of recipient addresses items: type: string example: - tel:+12125559999 isUnread: type: boolean description: Whether the message has been read example: false isIncoming: type: boolean description: True if message was received, false if sent example: true type: type: string description: Message type enum: - TEXT - MMS example: TEXT typeCode: type: string description: Numeric type code example: '1' timeStamp: type: string format: date-time description: Date and time the message was sent or received example: '2026-04-19T14:30:00Z' MessageDetail: type: object properties: message: allOf: - $ref: '#/components/schemas/MessageSummary' - type: object properties: text: type: string description: Full text content of the message example: Hello from the AT&T In-App Messaging API! subject: type: string description: Subject line (MMS only) example: Greeting UpdateMessageResponse: type: object properties: id: type: string description: ID of the updated message example: msg-500123 securitySchemes: oauth2: type: oauth2 description: AT&T OAuth 2.0 with user consent via authorization code flow flows: authorizationCode: authorizationUrl: https://api.att.com/oauth/v4/authorize tokenUrl: https://api.att.com/oauth/v4/token scopes: IMMN: Send Message - send MMS and SMS messages on behalf of user MIM: Message Inbox Management - read, update, and delete messages