withdrawals
由 openapi.json 自动生成的 10 个端点及其请求、响应和权限元数据。
此参考由已发布 API 契约生成。字段、请求头和权限要求如下。
下载完整 OpenAPI 文档 · SHA-256: ccaa20cec11fad96e369b88073ce3608a5b071ce55d6dc03fa31df7b0f08c525
标识符和数据结构与公开契约一致,说明直接给出调用规则。共享模型见 数据模型.
GET /api/v1/admin/withdrawals
GET /api/v1/admin/withdrawals
Withdrawal review queue
{
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
}
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"maxLength": 1024,
"type": "string"
}
},
{
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
{
"in": "query",
"name": "user_id",
"required": false,
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"has_more": {
"type": "boolean"
},
"items": {
"items": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
},
"type": "array"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor",
"has_more"
],
"type": "object"
}
}
},
"description": "Result"
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Withdrawal review queue",
"tags": [
"withdrawals"
],
"x-body": "none",
"x-body-limit": 0,
"x-idempotency": "none",
"x-permission": "ledger.withdrawal.review",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}POST /api/v1/admin/withdrawals/{id}/approve
POST /api/v1/admin/withdrawals/{id}/approve
Approve withdrawal
{
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "Resource ETag; missing 428, malformed 412, stale 409.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
}
}
},
"description": "Result",
"headers": {
"ETag": {
"description": "Current resource version for If-Match.",
"schema": {
"type": "string"
}
}
}
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Approve withdrawal",
"tags": [
"withdrawals"
],
"x-audit": "growth.withdrawal.approve",
"x-body": "json",
"x-body-limit": 8192,
"x-concurrency": {
"etag": true,
"ifMatch": true
},
"x-idempotency": "required",
"x-permission": "ledger.withdrawal.review",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}POST /api/v1/admin/withdrawals/{id}/mark-paid
POST /api/v1/admin/withdrawals/{id}/mark-paid
Record payment reference and settle commission
{
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "Resource ETag; missing 428, malformed 412, stale 409.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"reference": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"reference"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
}
}
},
"description": "Result",
"headers": {
"ETag": {
"description": "Current resource version for If-Match.",
"schema": {
"type": "string"
}
}
}
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Record payment reference and settle commission",
"tags": [
"withdrawals"
],
"x-audit": "growth.withdrawal.mark_paid",
"x-body": "json",
"x-body-limit": 8192,
"x-concurrency": {
"etag": true,
"ifMatch": true
},
"x-idempotency": "required",
"x-permission": "ledger.withdrawal.review",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": true,
"effectiveSecurity": []
}GET /api/v1/admin/withdrawals/{id}/payee
GET /api/v1/admin/withdrawals/{id}/payee
Reveal full payee details
{
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"account": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"bank": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"account"
],
"type": "object"
}
}
},
"description": "Result"
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Reveal full payee details",
"tags": [
"withdrawals"
],
"x-audit": "growth.withdrawal.reveal_payee",
"x-body": "none",
"x-body-limit": 0,
"x-idempotency": "none",
"x-permission": "ledger.withdrawal.review",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": true,
"effectiveSecurity": []
}POST /api/v1/admin/withdrawals/{id}/reject
POST /api/v1/admin/withdrawals/{id}/reject
Reject withdrawal and release hold
{
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "Resource ETag; missing 428, malformed 412, stale 409.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
}
}
},
"description": "Result",
"headers": {
"ETag": {
"description": "Current resource version for If-Match.",
"schema": {
"type": "string"
}
}
}
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Reject withdrawal and release hold",
"tags": [
"withdrawals"
],
"x-audit": "growth.withdrawal.reject",
"x-body": "json",
"x-body-limit": 8192,
"x-concurrency": {
"etag": true,
"ifMatch": true
},
"x-idempotency": "required",
"x-permission": "ledger.withdrawal.review",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}GET /api/v1/me/withdrawal-policy
GET /api/v1/me/withdrawal-policy
Withdrawal minimum and fee rules
{
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"fee_bps": {
"type": "integer"
},
"fee_fixed_minor": {
"type": "string"
},
"minimum_minor": {
"type": "string"
}
},
"required": [
"minimum_minor",
"fee_fixed_minor",
"fee_bps"
],
"type": "object"
}
}
},
"description": "Result"
}
},
"summary": "Withdrawal minimum and fee rules",
"tags": [
"withdrawals"
],
"x-body": "none",
"x-body-limit": 0,
"x-idempotency": "none",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}GET /api/v1/me/withdrawals
GET /api/v1/me/withdrawals
My withdrawals
{
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
}
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"maxLength": 1024,
"type": "string"
}
},
{
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"has_more": {
"type": "boolean"
},
"items": {
"items": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
},
"type": "array"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor",
"has_more"
],
"type": "object"
}
}
},
"description": "Result"
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "My withdrawals",
"tags": [
"withdrawals"
],
"x-body": "none",
"x-body-limit": 0,
"x-idempotency": "none",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}POST /api/v1/me/withdrawals
POST /api/v1/me/withdrawals
Request a commission withdrawal
{
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"amount_minor": {
"pattern": "^[1-9]\\d{0,17}$",
"type": "string"
},
"currency": {
"pattern": "^[A-Z]{3}$",
"type": "string"
},
"method": {
"pattern": "^[a-z][a-z0-9_-]{0,63}$",
"type": "string"
},
"payee": {
"additionalProperties": false,
"properties": {
"account": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"bank": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"account"
],
"type": "object"
}
},
"required": [
"amount_minor",
"currency",
"method",
"payee"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
}
}
},
"description": "Result",
"headers": {
"ETag": {
"description": "Current resource version for If-Match.",
"schema": {
"type": "string"
}
}
}
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Request a commission withdrawal",
"tags": [
"withdrawals"
],
"x-audit": "growth.withdrawal.request",
"x-body": "json",
"x-body-limit": 8192,
"x-capability": "me.withdrawal.create",
"x-concurrency": {
"etag": true
},
"x-idempotency": "required",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}GET /api/v1/me/withdrawals/{id}
GET /api/v1/me/withdrawals/{id}
My withdrawal
{
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
}
}
},
"description": "Result",
"headers": {
"ETag": {
"description": "Current resource version for If-Match.",
"schema": {
"type": "string"
}
}
}
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "My withdrawal",
"tags": [
"withdrawals"
],
"x-body": "none",
"x-body-limit": 0,
"x-concurrency": {
"etag": true
},
"x-idempotency": "none",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}POST /api/v1/me/withdrawals/{id}/cancel
POST /api/v1/me/withdrawals/{id}/cancel
Cancel a requested withdrawal
{
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "Resource ETag; missing 428, malformed 412, stale 409.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount_minor": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"currency": {
"type": "string"
},
"fee_minor": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"method": {
"type": "string"
},
"paid_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"paid_reference": {
"type": [
"string",
"null"
]
},
"payee_masked": {
"type": "string"
},
"payout_minor": {
"type": "string"
},
"review_reason": {
"type": [
"string",
"null"
]
},
"reviewed_by": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"requested",
"approved",
"paid",
"rejected",
"cancelled"
],
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
},
"version": {
"type": "integer"
},
"withdrawal_no": {
"type": "string"
}
},
"required": [
"id",
"withdrawal_no",
"user_id",
"amount_minor",
"fee_minor",
"payout_minor",
"currency",
"method",
"payee_masked",
"status",
"review_reason",
"reviewed_by",
"paid_reference",
"paid_at",
"created_at",
"updated_at",
"version"
],
"type": "object"
}
}
},
"description": "Result",
"headers": {
"ETag": {
"description": "Current resource version for If-Match.",
"schema": {
"type": "string"
}
}
}
},
"404": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Not found"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Withdrawal conflict"
},
"422": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
},
"description": "Invalid withdrawal"
}
},
"summary": "Cancel a requested withdrawal",
"tags": [
"withdrawals"
],
"x-audit": "growth.withdrawal.cancel",
"x-body": "json",
"x-body-limit": 8192,
"x-concurrency": {
"etag": true,
"ifMatch": true
},
"x-idempotency": "required",
"x-rate-limit": "growth.withdrawal.command",
"x-reauth": false,
"effectiveSecurity": []
}