Chastity Tracker API v2 Documentation: Orgasms

  1. πŸ” Authentication

    All API requests must be authenticated via HTTPS using a bearer token.

    Usage

    URL

    https://www.chastitytracker.org

    HEADER

    GET /api/v2/orgasms.php HTTP/2
    Host: www.chastitytracker.org
    Authorization: Bearer {YOUR_API_TOKEN}
    Content-Type: application/json
  2. πŸ“¦ Response Envelope

    All v2 endpoints return a unified JSON envelope.

    Success

    {
      "ok": true,
      "data": { ... },
      "meta": {"version":2}
    }

    Error

    {
      "ok": false,
      "error": {"code":"...", "message":"..."},
      "meta": {"version":2}
    }
  3. πŸ“Œ Endpoint: GET /api/v2/orgasms.php (list)

    Returns orgasm items for the token owner, with optional filters and pagination.

    Query Parameters

    • from: YYYY-MM-DD (optional)
    • to: YYYY-MM-DD (optional)
    • public: 0/1 (optional)
    • mode: full | ruined | milking | dom | ted (optional)
    • limit: integer (default 50, max 200)
    • offset: integer (default 0)

    Rules

    • mode=dom cannot be combined with public=1.

    Example Request

    GET /api/v2/orgasms.php?from=2026-01-01&to=2026-02-01&limit=50&offset=0 HTTP/2
    Host: www.chastitytracker.org
    Authorization: Bearer {YOUR_API_TOKEN}

    Response Example

    {
      "ok": true,
      "data": {
        "count": 2,
        "total": 10,
        "limit": 50,
        "offset": 0,
        "items": [
          {
            "id": 123,
            "date": "2026-01-15",
            "mode": "full",
            "public": 1,
            "type": "Stroke",
            "grantedby": null,
            "inserted": "2026-01-15 10:12:30.123"
          }
        ]
      },
      "meta":{"version":2}
    }
  4. πŸ“Œ Endpoint: GET /api/v2/orgasms.php?id=ID (details)

    Returns a single orgasm item owned by the token user.

    Example Request

    GET /api/v2/orgasms.php?id=123 HTTP/2
    Host: www.chastitytracker.org
    Authorization: Bearer {YOUR_API_TOKEN}
  5. πŸ“Œ Endpoint: POST /api/v2/orgasms.php (insert)

    Insert orgasm(s). Requires token with write permission.

    JSON Body

    • date: YYYY-MM-DD
    • mode: full | ruined | milking | dom | ted
    • public: 0/1
    • type: string (max 100)
    • grantedby: string (max 50)
    • number: integer (max 50)

    Rules

    • mode=dom forces public=0 and clears grantedby.
    • Date cannot be in the future and cannot be too far in the past.

    Example Request

    POST /api/v2/orgasms.php HTTP/2
    Host: www.chastitytracker.org
    Authorization: Bearer {YOUR_API_TOKEN}
    Content-Type: application/json

    {
      "date":"2026-02-01",
      "mode":"full",
      "public":1
    }

    Status Codes

    • 201 Created β€” Inserted
    • 400 Bad Request β€” Validation error
    • 401 Unauthorized β€” Missing/invalid token
    • 403 Forbidden β€” Missing write permission
    • 500 Internal Server Error β€” Server error
  6. πŸ“Œ Endpoint: PATCH /api/v2/orgasms.php?id=ID (update)

    Update orgasm fields. Requires token with write permission. Only provided fields are updated.

    Updatable Fields

    • date, public, type, grantedby, mode

    Rules

    • If setting mode=dom β†’ forces public=0 and clears grantedby.
  7. πŸ“Œ Endpoint: DELETE /api/v2/orgasms.php?id=ID (delete)

    Delete orgasm by id. Requires token with write permission.

  8. ⚠️ Security Notes

    • Tokens must be stored securely by third parties.
    • Users can revoke or regenerate tokens at any time.
    • Never share a user’s token or sensitive info.
  9. πŸ“… Changelog

    • 2026-02-02: initial v2 release

To go back to documentation index click here.