Create a compliance project

posthttps://api.expiryedge.com/v1/createComplianceProject
editor or admin60/minIdempotency-KeyJede Methode
Anfrage
curl -X POST 'https://api.expiryedge.com/v1/createComplianceProject' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "Northwind Dental - 2026 License Renewals",
  "clientId": "cc_7Rt2vQ",
  "status": "In Progress",
  "startDate": "2026-09-01",
  "dueDate": "2026-10-15",
  "description": "Collect and renew all state dental licenses.",
  "owner": "Priya Shah",
  "customFields": {
    "board": "State Board of Dentistry"
  }
}'
Antwort
{
  "message": "Project created successfully.",
  "project": {
    "id": "cp_3Mn8wX",
    "name": "Northwind Dental - 2026 License Renewals",
    "clientId": "cc_7Rt2vQ",
    "status": "In Progress",
    "startDate": "2026-09-01",
    "dueDate": "2026-10-15",
    "description": "Collect and renew all state dental licenses.",
    "owner": "Priya Shah",
    "customFields": {
      "board": "State Board of Dentistry"
    },
    "isArchived": false,
    "archivedAt": null,
    "organization_id": "org_northwind",
    "user_id": "u_71bXq",
    "createdAt": "2026-09-27T14:05:00.000Z",
    "updatedAt": "2026-09-27T14:05:00.000Z"
  }
}

Returns 400 when clientId is missing or not a client in your organization.

Header

  • Idempotency-Keystring
    Optional client-generated key (1-255 characters of letters, digits, - _ : .).
    pattern: ^[A-Za-z0-9_\-:.]{1,255}$

Body-Parameter

application/json
  • namestringerforderlich
    Required on create; cannot be blank on update.
  • clientIdstringerforderlich
    Compliance client id in your organization. Required on create.
  • statusstring
    Any other value is stored as Not Started.
    ErlaubtNot StartedIn ProgressOn HoldCompletedCancelled
  • startDatestring
    Stored as sent (not validated); the web app sends YYYY-MM-DD. Empty string when unset.
  • dueDatestring
    Stored as sent (not validated); the web app sends YYYY-MM-DD. Empty string when unset.
  • descriptionstring
  • ownerstring
    Free-text owner name.
  • customFieldsmap of string
    Free-form key/value pairs. Keys are trimmed; values are stored as strings.

Rückgabe

201
Created.
  • messagestring
  • projectobject
    A project belonging to a compliance client.

Fehler

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
Authenticated, but your role or organization does not allow this action.
409
A request with the same Idempotency-Key is still being processed. Retry after Retry-After seconds.
422
The Idempotency-Key was already used with a different request body.
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.