> ## Documentation Index
> Fetch the complete documentation index at: https://ownpay.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> OwnPay is licensed under AGPL-3.0 and is completely free - no licensing fees.
> Production docs URL: https://ownpay.org/docs - append .md to any page URL for clean markdown.
> OwnPay requires PHP 8.3+, MySQL/MariaDB, and Redis.
> MCP server available at https://ownpay.org/docs/mcp for programmatic documentation queries.
> Use root-relative links (e.g. /quickstart) for internal navigation - do NOT include /docs prefix.
> Plugin development: consult /developer/plugin-types/ pages for correct interfaces and manifests.

# Retry Outbound SMS

> Re-queues a failed outbound SMS record for another delivery attempt.
To avoid duplicate message dispatch, the operation is blocked and returns a `409` conflict if the SMS is not currently in a failed state (e.g. already sent or sending).




## OpenAPI

````yaml /api/admin_api.yaml post /sms-queues/{id}/retries
openapi: 3.1.0
info:
  title: OwnPay Brand Administrative API
  description: >
    The OwnPay Administrative API is used by per-merchant/brand administrators
    to configure and audit their gateway components.

    It exposes endpoints under `/api/admin/v1` to manage regex-based SMS parsing
    templates, inspect and retry failed messages in the outbound SMS
    communication queue, list/revoke paired companion devices, and verify
    white-labeled custom domains.


    ### Authentication

    Administrative endpoints require Bearer authentication using an API key
    generated with the `admin` privilege scope.

    ```http

    Authorization: Bearer <admin_api_key>

    ```

    All actions executed via this API are strictly isolated and scoped to the
    brand/merchant associated with the provided credentials.

    Note that administrative API routes are protected and are **only**
    accessible on the master domain configured via the `APP_DOMAIN` environment
    variable (e.g. `ownpay.org`), and are blocked on custom brand domains.
  version: 1.0.0
servers:
  - url: https://{master_domain}/api/admin/v1
    description: Master administrative API server.
    variables:
      master_domain:
        default: ownpay.org
        description: The APP_DOMAIN host where the administrative panel is accessible.
security:
  - AdminBearerAuth: []
paths:
  /sms-queues/{id}/retries:
    post:
      summary: Retry Outbound SMS
      description: >
        Re-queues a failed outbound SMS record for another delivery attempt.

        To avoid duplicate message dispatch, the operation is blocked and
        returns a `409` conflict if the SMS is not currently in a failed state
        (e.g. already sent or sending).
      operationId: retryOutboundSms
      parameters:
        - name: id
          in: path
          required: true
          description: The integer ID of the outbound SMS communication log.
          schema:
            type: integer
      responses:
        '200':
          description: SMS requeued for retry successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '400':
          description: Request failed during processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSingleErrorResponse'
        '409':
          description: SMS is not in a failed state and cannot be retried.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSingleErrorResponse'
components:
  schemas:
    MessageResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          type: object
          properties:
            message:
              type: string
              example: Action executed successfully
    ApiSingleErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          example: Error message details
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                example: ERROR_CODE
              message:
                type: string
                example: Error message details
              field:
                type: string
                nullable: true
                example: null
        request_id:
          type: string
          example: 8f5a2e9b0c7d4e5f
  securitySchemes:
    AdminBearerAuth:
      type: http
      scheme: bearer
      description: Enter the Admin scope Bearer API key.

````

## Related topics

- [List Outbound SMS Queue](/docs/api-reference/list-outbound-sms-queue.md)
- [Get Pending Outbound SMS](/docs/api-reference/get-pending-outbound-sms.md)
- [Submit Received SMS](/docs/api-reference/submit-received-sms.md)
- [Update SMS Template](/docs/api-reference/update-sms-template.md)
- [List SMS Templates](/docs/api-reference/list-sms-templates.md)
