Skip to content

Quest

GET/api/v1/quests/analytics/{quest_id}
GET
/api/v1/quests/analytics/{quest_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Query Parameters

window?string

Analytics window (e.g., 30d) reserved for future filtering

Response Body

application/json

curl -X GET "https://example.com/api/v1/quests/analytics/string"
{  "abandoned": 0,  "accepted": 0,  "expired": 0,  "quest_id": "string",  "turn_in_rate": 0.1,  "turned_in": 0}
GET/api/v1/quests/definitions
GET
/api/v1/quests/definitions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

q?string

Full-text search over this list's searchable fields.

Length1 <= length <= 200
sort?string

Comma-separated sort keys, - for descending, at most 1. Keys: name, version, updated_at, created_at. Default: -created_at.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/quests/definitions"
{  "definitions": [    {      "created_at": "2019-08-24T14:15:22Z",      "created_by": "string",      "description": "string",      "kind": "objective",      "name": "string",      "quest_id": "string",      "steps": [        {          "answer": null,          "attempt_throttle": null,          "description": "string",          "hidden": true,          "hints": [            {              "after_seconds": 0,              "order": 0,              "text": "string",              "treasury_price": null            }          ],          "id": "string",          "name": "string",          "objective": null,          "order": 0        }      ],      "updated_at": "2019-08-24T14:15:22Z",      "version": 0    }  ],  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  }}
POST/api/v1/quests/definitions
POST
/api/v1/quests/definitions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/definitions" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "quest_id": "string"  }'
{  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "description": "string",  "kind": "objective",  "name": "string",  "quest_id": "string",  "steps": [    {      "answer": null,      "attempt_throttle": null,      "description": "string",      "hidden": true,      "hints": [        {          "after_seconds": 0,          "order": 0,          "text": "string",          "treasury_price": null        }      ],      "id": "string",      "name": "string",      "objective": null,      "order": 0    }  ],  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
GET/api/v1/quests/definitions/{quest_id}
GET
/api/v1/quests/definitions/{quest_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/quests/definitions/string"
{  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "description": "string",  "kind": "objective",  "name": "string",  "quest_id": "string",  "steps": [    {      "answer": null,      "attempt_throttle": null,      "description": "string",      "hidden": true,      "hints": [        {          "after_seconds": 0,          "order": 0,          "text": "string",          "treasury_price": null        }      ],      "id": "string",      "name": "string",      "objective": null,      "order": 0    }  ],  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
DELETE/api/v1/quests/definitions/{quest_id}
DELETE
/api/v1/quests/definitions/{quest_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/quests/definitions/string"
{  "message": "string",  "quest_id": "string"}
PUT/api/v1/quests/definitions/{quest_id}
PUT
/api/v1/quests/definitions/{quest_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/api/v1/quests/definitions/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "description": "string",  "kind": "objective",  "name": "string",  "quest_id": "string",  "steps": [    {      "answer": null,      "attempt_throttle": null,      "description": "string",      "hidden": true,      "hints": [        {          "after_seconds": 0,          "order": 0,          "text": "string",          "treasury_price": null        }      ],      "id": "string",      "name": "string",      "objective": null,      "order": 0    }  ],  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
POST/api/v1/quests/events
POST
/api/v1/quests/events

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/events" \  -H "Content-Type: application/json" \  -d '{    "events": [      {        "event_type": "string",        "idempotency_key": "string"      }    ]  }'
{  "deltas": [    {      "count": 0,      "quest_id": "string",      "ready_for_turn_in": true,      "step_completed": true,      "step_id": "string"    }  ]}
GET/api/v1/quests/log
GET
/api/v1/quests/log

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

sort?string

Comma-separated sort keys, - for descending, at most 1. Keys: updated_at, created_at. Default: -created_at.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/quests/log"
{  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  },  "quests": [    {      "accepted_at": 0,      "current_step": "string",      "cycle_key": "string",      "definition_version": 0,      "expedition": null,      "expires_at": 0,      "hints_unlocked": [        "string"      ],      "kind": "objective",      "quest_id": "string",      "rewards_claimed": true,      "status": "offered",      "step_progress": {        "property1": {          "completed": true,          "count": 0        },        "property2": {          "completed": true,          "count": 0        }      },      "user_id": "string"    }  ]}
GET/api/v1/quests/offered
GET
/api/v1/quests/offered

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

sort?string

Comma-separated sort keys, - for descending, at most 1. Keys: name, created_at. Default: -created_at.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/quests/offered"
{  "offered": [    {      "description": "string",      "kind": "objective",      "name": "string",      "quest_id": "string",      "version": 0    }  ],  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  }}
POST/api/v1/quests/{quest_id}/abandon
POST
/api/v1/quests/{quest_id}/abandon

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/abandon"
{  "quest_id": "string",  "status": "offered"}
POST/api/v1/quests/{quest_id}/accept
POST
/api/v1/quests/{quest_id}/accept

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/accept"
{  "accepted_at": 0,  "current_step": "string",  "cycle_key": "string",  "definition_version": 0,  "expedition": null,  "expires_at": 0,  "hints_unlocked": [    "string"  ],  "kind": "objective",  "quest_id": "string",  "rewards_claimed": true,  "status": "offered",  "step_progress": {    "property1": {      "completed": true,      "count": 0    },    "property2": {      "completed": true,      "count": 0    }  },  "user_id": "string"}
POST/api/v1/quests/{quest_id}/check-in
POST
/api/v1/quests/{quest_id}/check-in

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/check-in" \  -H "Content-Type: application/json" \  -d '{}'
{  "outcomes": [    "string"  ],  "quest_id": "string",  "resolved": true}
POST/api/v1/quests/{quest_id}/dispatch
POST
/api/v1/quests/{quest_id}/dispatch

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/dispatch" \  -H "Content-Type: application/json" \  -d '{    "party": [      "string"    ]  }'
{  "party": [    "string"  ],  "quest_id": "string",  "resolves_at": 0}
POST/api/v1/quests/{quest_id}/rewards/resume
POST
/api/v1/quests/{quest_id}/rewards/resume

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/rewards/resume"
{  "quest_id": "string",  "rewards": [    {      "detail": "string",      "reward": {        "amount": 0,        "currency": "string",        "type": "treasury"      },      "status": "string"    }  ]}
POST/api/v1/quests/{quest_id}/steps/{step_id}/answer
POST
/api/v1/quests/{quest_id}/steps/{step_id}/answer

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string
step_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/steps/string/answer" \  -H "Content-Type: application/json" \  -d '{    "text": "string"  }'
{  "attempts_remaining": 0,  "correct": true,  "quest_id": "string",  "ready_for_turn_in": true,  "step_completed": true,  "step_id": "string"}
GET/api/v1/quests/{quest_id}/steps/{step_id}/hints
GET
/api/v1/quests/{quest_id}/steps/{step_id}/hints

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string
step_id*string

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

sort?string

Comma-separated sort keys, - for descending, at most 1. Keys: order. Default: order.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/quests/string/steps/string/hints"
{  "hints": [    {      "order": 0,      "text": "string",      "unlock_condition": "string",      "unlocked": true    }  ],  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  },  "quest_id": "string",  "step_id": "string"}
POST/api/v1/quests/{quest_id}/steps/{step_id}/hints/unlock
POST
/api/v1/quests/{quest_id}/steps/{step_id}/hints/unlock

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string
step_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/steps/string/hints/unlock" \  -H "Content-Type: application/json" \  -d '{    "order": 0  }'
{  "hint": {    "order": 0,    "text": "string",    "unlock_condition": "string",    "unlocked": true  },  "quest_id": "string",  "step_id": "string"}
POST/api/v1/quests/{quest_id}/turn-in
POST
/api/v1/quests/{quest_id}/turn-in

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

quest_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/quests/string/turn-in"
{  "quest_id": "string",  "rewards": [    {      "detail": "string",      "reward": {        "amount": 0,        "currency": "string",        "type": "treasury"      },      "status": "string"    }  ],  "status": "offered",  "unlocked": [    "string"  ]}