Skip to content

POST /give/progression/{player_identifier}

Endpoint: POST /v1/pdapi/give/progression/<player_identifier>

Auth: Bearer token

Permission: REST.Progression.Give

Purpose

Grants progression values to a player.

Path parameters

  • player_identifier: UserId or PlayerUID for the target player.

Query parameters

None.

Request body

JSON object with at least one supported grant: positive integer EXP, positive integer TechnologyPoints, positive integer AncientTechnologyPoints, or Relics as a non-empty object keyed by relic type with positive integer amounts.

Supported relic types: CapturePower, HungerReduction, SwimSpeed, FoodDecayReduction, JumpPower, GliderSpeed, ClimbSpeed, StatusAilmentResist, StaminaReduction, SphereHoming, ExpBonus, RainbowPassiveRate, MoveSpeed.

Response schema

200 response schema

Field Type Description
Granted object Progression values granted by the request.
Totals object Updated totals for granted currencies, when applicable.

Granted object schema:

Field Type Description
EXP integer EXP granted, when requested.
Relics object Relic point amounts granted by relic type, when requested.
TechnologyPoints integer Technology points granted, when requested.
AncientTechnologyPoints integer Ancient technology points granted, when requested.

Totals object schema:

Field Type Description
Relics object Updated relic point totals by relic type, when Relics was granted.
TechnologyPoints integer Updated technology point total, when TechnologyPoints was granted.
AncientTechnologyPoints integer Updated ancient technology point total, when AncientTechnologyPoints was granted.

Error responses

Error bodies use this shape:

{
    "Error": {
        "Code": "ERROR_CODE",
        "Message": "Human-readable message",
        "Details": {}
    }
}
HTTP Error code When it happens
401 INVALID_TOKEN The Authorization header is missing, malformed, or does not match a configured bearer token.
403 MISSING_PERMISSION The token is valid, but it does not include this endpoint permission.
400 INVALID_JSON A request body was supplied, but it could not be parsed as JSON.
400 REQUEST_FAILED The game-thread callback threw an exception, or a shared player/resource resolver failed.
500 REQUEST_TIMEOUT The internal game-thread callback did not complete within 5 seconds.
400 INVALID_REQUEST The body does not include any of EXP, Relics, TechnologyPoints, or AncientTechnologyPoints.
400 VALIDATION_FAILED A supplied progression value is missing, non-integer, non-positive, or required progression internals are unavailable.

Examples

Give EXP to a GDK player

POST /v1/pdapi/give/progression/gdk_2533274898765432
{
    "EXP": 25000
}

Give points and relics by PlayerUID

POST /v1/pdapi/give/progression/f0a1c3e9-7d5b-4a28-8c33-411fdc2e6b74
{
    "Relics": {
        "CapturePower": 5,
        "MoveSpeed": 2
    },
    "TechnologyPoints": 10,
    "AncientTechnologyPoints": 2
}

Scenarios

  • Compensate players after a save rollback.
  • Add technology points without unlocking a specific technology.
  • Use POST /learntech instead when you want to unlock a specific TechID.