HTTP API

Talent

POST/api/v1/talent/curves
POST
/api/v1/talent/curves

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/talent/curves" \  -H "Content-Type: application/json" \  -d '{    "curve_id": "string",    "kind": "linear",    "max_level": 0,    "points_per_level": [      {        "amount": 0,        "currency": "string"      }    ]  }'
{  "bonus_levels": [    {      "extra": [        {          "amount": 0,          "currency": "string"        }      ],      "level": 0    }  ],  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "curve_id": "string",  "kind": "linear",  "max_level": 0,  "params": {    "base": 0,    "exponent": 0,    "per_level": 0,    "table": [      0    ]  },  "points_per_level": [    {      "amount": 0,      "currency": "string"    }  ]}
GET/api/v1/talent/curves/{curve_id}
GET
/api/v1/talent/curves/{curve_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

curve_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/curves/string"
{  "bonus_levels": [    {      "extra": [        {          "amount": 0,          "currency": "string"        }      ],      "level": 0    }  ],  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "curve_id": "string",  "kind": "linear",  "max_level": 0,  "params": {    "base": 0,    "exponent": 0,    "per_level": 0,    "table": [      0    ]  },  "points_per_level": [    {      "amount": 0,      "currency": "string"    }  ]}
GET/api/v1/talent/definitions
GET
/api/v1/talent/definitions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

q?string

Full-text search query applied to tree name and description

page?integer

1-indexed page number

Formatint64
Range0 <= value
page_size?integer

Page size

Formatint64
Range0 <= value
sort_by?string

Sort field (created_at, version, name)

sort_order?string

Sort order (asc or desc)

Value in

  • "asc"
  • "desc"
active_only?boolean

Only return active (latest published) versions

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/definitions"
{  "pagination": {    "has_more": true,    "page": 0,    "page_size": 0,    "total": 0  },  "trees": [    {      "active": true,      "created_at": "2019-08-24T14:15:22Z",      "created_by": "string",      "definition_id": "string",      "description": "string",      "exclusive_groups": [        {          "id": "string",          "label": "string",          "max_selected": 0        }      ],      "name": "string",      "nodes": [        {          "cost_per_rank": [            {              "amount": 0,              "currency": "string"            }          ],          "exclusive_group": "string",          "grants": null,          "id": "string",          "max_rank": 0,          "name": "string",          "prerequisites": null,          "tier": 0        }      ],      "point_currencies": [        "string"      ],      "respec": {        "full": null,        "partial": null      },      "tiers": [        {          "gate": null,          "tier": 0        }      ],      "tree_id": "string",      "updated_at": "2019-08-24T14:15:22Z",      "version": 0    }  ]}
POST/api/v1/talent/definitions
POST
/api/v1/talent/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/talent/definitions" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "nodes": [      {        "id": "string",        "name": "string",        "tier": 0      }    ],    "point_currencies": [      "string"    ],    "tiers": [      {        "tier": 0      }    ],    "tree_id": "string"  }'
{  "active": true,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "definition_id": "string",  "description": "string",  "exclusive_groups": [    {      "id": "string",      "label": "string",      "max_selected": 0    }  ],  "name": "string",  "nodes": [    {      "cost_per_rank": [        {          "amount": 0,          "currency": "string"        }      ],      "exclusive_group": "string",      "grants": null,      "id": "string",      "max_rank": 0,      "name": "string",      "prerequisites": null,      "tier": 0    }  ],  "point_currencies": [    "string"  ],  "respec": {    "full": null,    "partial": null  },  "tiers": [    {      "gate": null,      "tier": 0    }  ],  "tree_id": "string",  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
POST/api/v1/talent/definitions/validate
POST
/api/v1/talent/definitions/validate

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/talent/definitions/validate" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "nodes": [      {        "id": "string",        "name": "string",        "tier": 0      }    ],    "point_currencies": [      "string"    ],    "tiers": [      {        "tier": 0      }    ],    "tree_id": "string"  }'
{  "issues": [    "string"  ],  "valid": true}
GET/api/v1/talent/definitions/{tree_id}
GET
/api/v1/talent/definitions/{tree_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/definitions/string"
{  "active": true,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "definition_id": "string",  "description": "string",  "exclusive_groups": [    {      "id": "string",      "label": "string",      "max_selected": 0    }  ],  "name": "string",  "nodes": [    {      "cost_per_rank": [        {          "amount": 0,          "currency": "string"        }      ],      "exclusive_group": "string",      "grants": null,      "id": "string",      "max_rank": 0,      "name": "string",      "prerequisites": null,      "tier": 0    }  ],  "point_currencies": [    "string"  ],  "respec": {    "full": null,    "partial": null  },  "tiers": [    {      "gate": null,      "tier": 0    }  ],  "tree_id": "string",  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
PUT/api/v1/talent/definitions/{tree_id}
PUT
/api/v1/talent/definitions/{tree_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_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/talent/definitions/string" \  -H "Content-Type: application/json" \  -d '{    "migration": {      "from_version": 0    },    "name": "string",    "nodes": [      {        "id": "string",        "name": "string",        "tier": 0      }    ],    "point_currencies": [      "string"    ],    "tiers": [      {        "tier": 0      }    ],    "tree_id": "string"  }'
{  "active": true,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "definition_id": "string",  "description": "string",  "exclusive_groups": [    {      "id": "string",      "label": "string",      "max_selected": 0    }  ],  "name": "string",  "nodes": [    {      "cost_per_rank": [        {          "amount": 0,          "currency": "string"        }      ],      "exclusive_group": "string",      "grants": null,      "id": "string",      "max_rank": 0,      "name": "string",      "prerequisites": null,      "tier": 0    }  ],  "point_currencies": [    "string"  ],  "respec": {    "full": null,    "partial": null  },  "tiers": [    {      "gate": null,      "tier": 0    }  ],  "tree_id": "string",  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
DELETE/api/v1/talent/definitions/{tree_id}/versions/{version}
DELETE
/api/v1/talent/definitions/{tree_id}/versions/{version}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_id*string
version*integer
Formatint32
Range0 <= value

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/talent/definitions/string/versions/0"
{  "message": "string",  "tree_id": "string",  "version": 0}
GET/api/v1/talent/me/wallet
GET
/api/v1/talent/me/wallet

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/me/wallet"
{  "balances": {    "property1": 0,    "property2": 0  },  "user_id": "string",  "xp": [    {      "current_level": 0,      "curve_id": "string",      "total_xp": 0    }  ]}
POST/api/v1/talent/xp/events
POST
/api/v1/talent/xp/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/talent/xp/events" \  -H "Content-Type: application/json" \  -d '{    "amount": 0,    "curve_id": "string"  }'
{  "granted": {    "property1": 0,    "property2": 0  },  "idempotent": true,  "new_level": 0,  "old_level": 0}
POST/api/v1/talent/{tree_id}/allocate
POST
/api/v1/talent/{tree_id}/allocate

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_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/talent/string/allocate" \  -H "Content-Type: application/json" \  -d '{    "node_id": "string"  }'
{  "exclusive_selections": {    "property1": "string",    "property2": "string"  },  "highest_tier_unlocked": 0,  "points_spent": {    "property1": 0,    "property2": 0  },  "ranks": {    "property1": 0,    "property2": 0  },  "tree_id": "string",  "tree_version": 0,  "user_id": "string"}
GET/api/v1/talent/{tree_id}/analytics/archetypes
GET
/api/v1/talent/{tree_id}/analytics/archetypes

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/string/analytics/archetypes"
{  "archetypes": [    {      "population": 0,      "selections": [        {          "group": "string",          "node_id": "string"        }      ],      "share": 0.1,      "signature": "string"    }  ],  "total_population": 0,  "tree_id": "string",  "tree_version": 0}
GET/api/v1/talent/{tree_id}/analytics/paths
GET
/api/v1/talent/{tree_id}/analytics/paths

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/string/analytics/paths"
{  "nodes": [    {      "name": "string",      "node_id": "string",      "tier": 0,      "total_ranks_allocated": 0    }  ],  "tree_id": "string"}
POST/api/v1/talent/{tree_id}/respec
POST
/api/v1/talent/{tree_id}/respec

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_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/talent/string/respec" \  -H "Content-Type: application/json" \  -d '{}'
{  "exclusive_selections": {    "property1": "string",    "property2": "string"  },  "highest_tier_unlocked": 0,  "points_spent": {    "property1": 0,    "property2": 0  },  "ranks": {    "property1": 0,    "property2": 0  },  "tree_id": "string",  "tree_version": 0,  "user_id": "string"}
GET/api/v1/talent/{tree_id}/state
GET
/api/v1/talent/{tree_id}/state

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/string/state"
{  "nodes": [    {      "affordable": true,      "current_rank": 0,      "excluded_by": "string",      "max_rank": 0,      "node_id": "string",      "prerequisites_met": true,      "tier_locked": true    }  ],  "state": {    "exclusive_selections": {      "property1": "string",      "property2": "string"    },    "highest_tier_unlocked": 0,    "points_spent": {      "property1": 0,      "property2": 0    },    "ranks": {      "property1": 0,      "property2": 0    },    "tree_id": "string",    "tree_version": 0,    "user_id": "string"  },  "tree_id": "string",  "tree_version": 0}
GET/api/v1/talent/{tree_id}/users/{user_id}/state
GET
/api/v1/talent/{tree_id}/users/{user_id}/state

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

tree_id*string
user_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/talent/string/users/string/state"
{  "nodes": [    {      "affordable": true,      "current_rank": 0,      "excluded_by": "string",      "max_rank": 0,      "node_id": "string",      "prerequisites_met": true,      "tier_locked": true    }  ],  "state": {    "exclusive_selections": {      "property1": "string",      "property2": "string"    },    "highest_tier_unlocked": 0,    "points_spent": {      "property1": 0,      "property2": 0    },    "ranks": {      "property1": 0,      "property2": 0    },    "tree_id": "string",    "tree_version": 0,    "user_id": "string"  },  "tree_id": "string",  "tree_version": 0}

On this page