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

# Push a Prayer Schedule Month

> Send a complete monthly prayer schedule to a configured Custom Push source.

## Endpoint

```http theme={null}
POST /api/public/v1/prayer-schedules/sources/{sourceId}/months
```

This is a bounded Custom Push API for prayer schedules. It is not a general content or Widget API.

## Authentication and headers

Use a workspace API key with one supported header:

```http theme={null}
Authorization: Bearer <workspace-api-key>
Content-Type: application/json
Idempotency-Key: prayer-2026-08-jakarta
```

`x-layarva-workspace-key` and `x-layarva-api-key` are also accepted for this route. Idempotency keys contain 12–160 characters.

## Request limits

* Source ID must match the configured `psrc_...` identity.
* Body must be JSON and no larger than 512 KB.
* Submit one complete valid month.
* Source-specific Push rate limits apply.

The first accepted request returns `202`; an idempotent replay can return `200` with `replay: true`.

## Common errors

| Code                       | Meaning                            |
| -------------------------- | ---------------------------------- |
| `AUTHENTICATION_REQUIRED`  | No workspace API key was supplied. |
| `AUTHENTICATION_FAILED`    | Key or source does not match.      |
| `IDEMPOTENCY_KEY_REQUIRED` | Header is missing.                 |
| `VALIDATION_ERROR`         | The complete month is invalid.     |
| `PAYLOAD_TOO_LARGE`        | Body exceeds 512 KB.               |
| `SOURCE_UNAVAILABLE`       | The configured source is inactive. |

## Related guides

* [Build with Layarva](/developers/introduction)
* [API Roadmap and Boundaries](/developers/roadmap)
