API Reference

The Cohorto REST API lets you query contributor CLA status, trigger re-sign requests, and subscribe to CLA events via webhooks.

Base URL

https://api.repovyn.com/v1

Authentication

All API requests require a Bearer token in the Authorization header. Generate an API key in Dashboard → Settings → API Keys.

curl -H "Authorization: Bearer <your-api-key>" \
     "https://api.repovyn.com/v1/contributors"

Endpoints

GET /contributors

Returns a paginated list of all contributors in your org with their CLA status.

GET /v1/contributors?repo=acme-org/my-repo&status=pending

// Response
{
  "contributors": [
    {
      "id": "usr_01H8...",
      "github_login": "jsmith",
      "cla_status": "pending",
      "cla_version": "v1.2",
      "requested_at": "2025-10-14T09:23:00Z"
    }
  ],
  "total": 42,
  "page": 1
}

GET /contributors/:id/status

Check the CLA status of a single contributor by Cohorto contributor ID or GitHub login.

GET /v1/contributors/jsmith/status

{
  "github_login": "jsmith",
  "cla_status": "signed",
  "signed_at": "2025-10-14T11:41:00Z",
  "cla_version": "v1.2"
}

POST /contributors/:id/request-sign

Manually trigger a CLA signature request for a contributor. Useful for re-sign workflows.

POST /v1/contributors/jsmith/request-sign
Content-Type: application/json

{
  "cla_template_id": "tmpl_v1.2",
  "repo": "acme-org/my-repo"
}

Webhooks

Cohorto can deliver real-time events to your endpoint. Configure webhook URLs in Settings → Webhooks.

Event: cla.signed

{
  "event": "cla.signed",
  "contributor": "jsmith",
  "repo": "acme-org/my-repo",
  "pr_number": 142,
  "cla_version": "v1.2",
  "timestamp": "2025-10-14T11:41:00Z"
}

Event: cla.expired

{
  "event": "cla.expired",
  "contributor": "jsmith",
  "expired_at": "2026-10-14T00:00:00Z"
}

Rate limits

The API is rate-limited to 1,000 requests per hour on Team plans. Enterprise plans have higher limits — contact us for specifics.

Need help with the API? Email [email protected] or see the Quick Start Guide.