Skip to main content
POST
https://tickward.com/api/v1
/
projects
/
preview
curl --request POST \
  --url https://tickward.com/api/v1/projects/preview \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Launch Plan"
}
'
{
  "object": "project_preview",
  "dry_run": true,
  "operation": "create_project",
  "plan_hash": "sha256:7f1a0c6b1a7e0a7237918ec31e6a03ca690ad802d6f28d62101a3f27819cb622",
  "summary": {
    "projects": {
      "create": 1
    },
    "spaces": {
      "create": 1
    },
    "timers": {
      "create": 2
    }
  },
  "changes": [
    {
      "action": "create",
      "type": "project",
      "path": "#",
      "name": "Subscriptions"
    },
    {
      "action": "create",
      "type": "space",
      "path": "#/spaces/0",
      "name": "AI tools"
    },
    {
      "action": "create",
      "type": "timer",
      "path": "#/spaces/0/timers/0",
      "label": "GPT Pro renewal"
    }
  ],
  "warnings": [],
  "apply": {
    "method": "POST",
    "path": "/api/v1/projects",
    "requires_idempotency_key": true,
    "expected_plan_hash": "sha256:7f1a0c6b1a7e0a7237918ec31e6a03ca690ad802d6f28d62101a3f27819cb622"
  }
}

Authorizations

Authorization
string
header
default:tw_your_api_key
required

Use a tickward API key from Settings. API keys start with tw_. Store keys as secrets and send them as Authorization: Bearer <key>.

Body

application/json
name
string
required
Required string length: 1 - 40
color
string

Use a hex color such as #2563eb. Empty string clears color where supported.

Pattern: ^$|^#[0-9a-fA-F]{6}$
expected_plan_hash
string

Optional plan hash returned by POST /projects/preview. When present, the create request fails if the current body no longer matches the preview.

Pattern: ^sha256:[a-f0-9]{64}$
spaces
object[]

Spaces to create with the project. Timers can be nested inside a space.

timers
object[]

Timers to create with the project. Use space_id only when referencing a space id supplied in spaces[].id.

Response

Project creation preview.

object
enum<string>
required
Available options:
project_preview
dry_run
enum<boolean>
required
Available options:
true
operation
enum<string>
required
Available options:
create_project
plan_hash
string
required
Pattern: ^sha256:[a-f0-9]{64}$
summary
object
required
changes
object[]
required
warnings
object[]
required
apply
object
required