Acentric.
Competitions
Log inSign up
Docs/API Reference

1.0.0

API Reference

Canonical REST API for competitions, submissions, payments, scripts, and automations.

OpenAPI JSONYAML source

This reference lists 25 operations across 1 groups.

API

25 endpoints
GET/health

Check API health

public
Parameters

No parameters.

Request body
No body
Responses

200 Check API health

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/HealthResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/openapi.json

Read the generated OpenAPI document

public
Parameters

No parameters.

Request body
No body
Responses

200 Read the generated OpenAPI document

{
  "type": "object",
  "additionalProperties": true
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/me

Read the authenticated account

profile:read
Parameters

No parameters.

Request body
No body
Responses

200 Read the authenticated account

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/AccountResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/api-keys

List API keys

tokens:manage
Parameters

No parameters.

Request body
No body
Responses

200 List API keys

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiKeyResource"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/api-keys

Create an API key

tokens:manageIdempotency-Key required
Parameters
NameInRequiredDescription
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "scopes": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PublicApiScope"
        }
      }
    }
  }
}
Responses

201 Create an API key

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ApiKeyResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/competitions

List public competitions

public
Parameters

No parameters.

Request body
No body
Responses

200 List public competitions

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CompetitionResource"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/competitions

Create a competition draft

competitions:writeIdempotency-Key required
Parameters
NameInRequiredDescription
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "required": [
      "title",
      "overview",
      "prize_amount",
      "submission_deadline"
    ],
    "properties": {
      "title": {
        "type": "string",
        "maxLength": 80
      },
      "overview": {
        "type": "string",
        "maxLength": 8000
      },
      "prize_amount": {
        "type": "integer",
        "minimum": 1000
      },
      "tags": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 32
        }
      },
      "attachments": {
        "type": "array",
        "maxItems": 20,
        "items": {
          "$ref": "#/components/schemas/Attachment"
        }
      },
      "requirements": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "$ref": "#/components/schemas/CompetitionRequirement"
        }
      },
      "thumbnail_url": {
        "type": [
          "string",
          "null"
        ],
        "format": "uri",
        "maxLength": 2048
      },
      "thumbnail_reference": {
        "type": [
          "string",
          "null"
        ],
        "minLength": 1,
        "maxLength": 2048
      },
      "submission_deadline": {
        "type": "string",
        "format": "date-time"
      }
    }
  }
}
Responses

201 Create a competition draft

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CompetitionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/competitions/{id}

Read a public competition

public
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Request body
No body
Responses

200 Read a public competition

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CompetitionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
PATCH/competitions/{id}

Update a competition draft

competitions:writeIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "maxLength": 80
      },
      "overview": {
        "type": "string",
        "maxLength": 8000
      },
      "prize_amount": {
        "type": "integer",
        "minimum": 1000
      },
      "tags": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 32
        }
      },
      "attachments": {
        "type": "array",
        "maxItems": 20,
        "items": {
          "$ref": "#/components/schemas/Attachment"
        }
      },
      "requirements": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "$ref": "#/components/schemas/CompetitionRequirement"
        }
      },
      "thumbnail_url": {
        "type": [
          "string",
          "null"
        ],
        "format": "uri",
        "maxLength": 2048
      },
      "thumbnail_reference": {
        "type": [
          "string",
          "null"
        ],
        "minLength": 1,
        "maxLength": 2048
      },
      "submission_deadline": {
        "type": "string",
        "format": "date-time"
      }
    }
  }
}
Responses

200 Update a competition draft

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CompetitionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/competitions/{id}/publish-payment

Create a payment session for publishing

competitions:publishpayments:writeIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "required": [
      "terms_accepted"
    ],
    "properties": {
      "terms_accepted": {
        "type": "boolean",
        "enum": [
          true
        ]
      }
    },
    "additionalProperties": false
  }
}
Responses

201 Create a payment session for publishing

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/PublishPaymentResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/competitions/{id}/join

Join a competition

competitions:joinIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
No body
Responses

201 Join a competition

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/JoinResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/competitions/{id}/close

Close a competition

competitions:writeIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
No body
Responses

200 Close a competition

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CompetitionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/competitions/{id}/winner

Select a winner account

submissions:reviewIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "required": [
      "account_id"
    ],
    "properties": {
      "account_id": {
        "type": "string",
        "format": "uuid"
      }
    }
  }
}
Responses

200 Select a winner account

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/WinnerSelectionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/submissions

List accessible submissions

submissions:read
Parameters

No parameters.

Request body
No body
Responses

200 List accessible submissions

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SubmissionResource"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/submissions

Create a submission draft

submissions:writeIdempotency-Key required
Parameters
NameInRequiredDescription
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "required": [
      "competition_id",
      "title"
    ],
    "properties": {
      "competition_id": {
        "type": "string",
        "format": "uuid"
      },
      "title": {
        "type": "string",
        "minLength": 1,
        "maxLength": 300
      },
      "summary": {
        "type": "string",
        "maxLength": 40000
      }
    }
  }
}
Responses

201 Create a submission draft

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/SubmissionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/submissions/{id}

Read a submission

submissions:read
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Request body
No body
Responses

200 Read a submission

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/SubmissionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/submissions/{id}/assets

Prepare submission asset uploads

submissions:writeIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "required": [
      "files"
    ],
    "properties": {
      "files": {
        "type": "array",
        "minItems": 1,
        "maxItems": 500,
        "items": {
          "type": "object",
          "required": [
            "name",
            "size",
            "content_type",
            "checksum_sha256"
          ],
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 240
            },
            "relative_path": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "size": {
              "type": "integer",
              "minimum": 0
            },
            "content_type": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "checksum_sha256": {
              "type": "string",
              "minLength": 64,
              "maxLength": 64,
              "pattern": "^[a-f0-9]{64}$"
            }
          }
        }
      }
    }
  }
}
Responses

201 Prepare submission asset uploads

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssetResource"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/submissions/{id}/finalize

Finalize a submission

submissions:writeIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
No body
Responses

200 Finalize a submission

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/SubmissionResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/submissions/{id}/messages

List submission messages

submission_messages:read
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Request body
No body
Responses

200 List submission messages

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MessageResource"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/submissions/{id}/messages

Post a submission message

submission_messages:writeIdempotency-Key required
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "required": [
      "body"
    ],
    "properties": {
      "body": {
        "type": "string",
        "minLength": 1,
        "maxLength": 4000
      }
    }
  }
}
Responses

201 Post a submission message

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MessageResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/assets/{id}/download

Create a signed asset download URL

assets:readsubmissions:read
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Request body
No body
Responses

200 Create a signed asset download URL

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/AssetDownloadResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/assets/{id}/multipart

Create signed multipart upload URLs

assets:readsubmissions:readsubmissions:write
Parameters
NameInRequiredDescription
idpathYesNo parameter description provided.
Request body
{
  "description": null,
  "required": true,
  "schema": {
    "type": "object",
    "oneOf": [
      {
        "required": [
          "upload_id",
          "parts"
        ]
      },
      {
        "not": {
          "anyOf": [
            {
              "required": [
                "upload_id"
              ]
            },
            {
              "required": [
                "parts"
              ]
            }
          ]
        }
      }
    ],
    "properties": {
      "upload_id": {
        "type": [
          "string",
          "null"
        ],
        "minLength": 1
      },
      "parts": {
        "type": "array",
        "uniqueItems": true,
        "maxItems": 100,
        "items": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000
        }
      }
    }
  }
}
Responses

200 Create signed multipart upload URLs

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MultipartUploadResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
GET/notifications

List notifications

notifications:read
Parameters

No parameters.

Request body
No body
Responses

200 List notifications

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/NotificationResource"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/payments/onboarding-link

Create a payment account onboarding link

payments:writeIdempotency-Key required
Parameters
NameInRequiredDescription
Idempotency-KeyheaderYesRequired for idempotent mutation replay.
Request body
No body
Responses

201 Create a payment account onboarding link

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/PaymentOnboardingResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 Idempotency conflict or in-progress request. Error code is `idempotency_key_conflict` or `idempotency_request_in_progress`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}
POST/payments/webhook/{provider}

Process a payment provider webhook

public
Parameters
NameInRequiredDescription
providerpathYesNo parameter description provided.
Request body
No body
Responses

200 Process a payment provider webhook

{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/PaymentWebhookResource"
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

400 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

401 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

403 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

404 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

409 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

429 Rate limit exceeded. Error code is `rate_limited`.

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

500 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

503 JSON:API error document

{
  "type": "object",
  "required": [
    "errors",
    "meta"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "code",
          "title",
          "detail"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/JsonApiMeta"
    }
  }
}

OpenAPI source

The OpenAPI YAML source is maintained at docs/api/openapi.yaml. The JSON document is served at https://api.acentric.acentrism.com/v1/openapi.json.

Endpoint groups

API

Product

CompetitionsSign upLog in

Docs

IntroductionQuick StartCreating CompetitionsSubmitting WorkAPI Reference

Legal

Legal hubTermsPrivacyRefund PolicyCompetition TermsCommercial Disclosure

Support

ContactQuick StartPayments and payouts

Social

X / TwitterDiscord

Publish competitions in the app or through the API.

© 2026 Acentric. All rights reserved.

LegalPrivacyTerms

acentric