Card issuing request

Update one

Updates a card issuing request. The owner, a manager, or an admin may edit the base fields.

Certain fields are role-gated and, if present without the required role, the whole request is rejected with 401:

  • user_id, company_id, budget_cents, budget_currency → require the caller to act as a manager (admin or card_issuing_requests_manage).
  • tracking_number, tracking_url, estimated_delivery_date, and the milestone timestamps printing_at / sent_at / delivered_atCardda staff-only.
  • status is only permitted for admins.

physical cannot be changed after creation, and shipping fields cannot be blanked on physical CLP requests (model validations → 422).

patch/v1/card_issuing_requests/{card_issuing_request_id}

Path parameters

card_issuing_request_idstring uuid required

UUID of the card issuing request.

Parameters

#/paths/~1v1~1merchants/get/parameters/0 — unresolved $ref

Request body

namestring

Display name for the card.

interval'monthly' | 'daily'
physicalboolean

Cannot be changed after creation (validation rejects the change).

purchase'national' | 'international' | 'both'
recipient_namestring

Recipient full name. Cannot be blanked on physical CLP requests.

contact_phonestring
user_idstring

Manager-only. Firebase user id of the cardholder.

company_idstring uuid

Manager-only. UUID of the owning company.

budget_centsinteger

Manager-only. Requested budget in cents.

budget_currencystring

Manager-only. ISO-4217 budget currency.

status'pending' | 'accepted' | 'declined' | 'printing' | 'printed' | 'sent' | 'delivered'

Admin-only. Request lifecycle status.

tracking_numberstring

Cardda staff-only. Carrier tracking number.

tracking_urlstring

Cardda staff-only. Carrier tracking URL (must start with http:// or https://).

estimated_delivery_datestring date

Cardda staff-only. Estimated delivery date.

Example request

{
  "name": "Marketing — María Pérez",
  "interval": "monthly",
  "recipient_name": "María Pérez",
  "contact_phone": "+56912345678"
}

Response

The updated card issuing request.

idstring uuid
namestring nullable

Display name requested for the card.

user_idstring

Firebase user id of the future cardholder (not a UUID).

company_idstring uuid
status'pending' | 'accepted' | 'declined' | 'printing' | 'printed' | 'sent' | 'delivered'

Lifecycle of the request.

  • pending — created, awaiting approval / issuing.
  • accepted — a card was issued and linked (vendor_card_id is set).
  • declined — rejected.
  • printing / printed — physical card in production.
  • sent — dispatched to the cardholder (admin marks this).
  • delivered — cardholder self-confirmed receipt (see confirm_delivery).
budget_centsinteger

Requested spending budget in cents, in budget_currency.

budget_currencystring

ISO-4217 code of the requested budget currency.

interval'monthly' | 'daily'

Budget renewal interval for the resulting card.

physicalboolean

Whether a physical (plastic) card is requested. false for virtual-only.

purchase'national' | 'international' | 'both' nullable

Allowed purchase geography for the card.

vendor_idstring nullable

Issuing partner selected at approval time (e.g. plh, pomelo, slash).

vendor_card_idstring nullable

Id of the issued VendorCard once the request is accepted (vendor-prefixed string, not a UUID).

typestring nullable

STI subclass derived from vendor_id (e.g. Cards::Plh::Request).

recipient_namestring nullable

Recipient full name for physical shipments. Required for physical CLP requests.

contact_phonestring nullable

Contact phone for the physical shipment.

shipping_municipality_namestring nullable

Resolved municipality name for the shipping address (computed field).

kyc_completedboolean

Whether the owning company has completed KYC. Computed field. Serialized as the JSON key kyc_completed (the ? Ruby predicate suffix is stripped).

tracking_numberstring nullable

Carrier tracking number (staff-set). Only present for dispatched physical cards.

tracking_urlstring nullable

Carrier tracking URL (staff-set).

estimated_delivery_datestring date nullable

Estimated delivery date (staff-set).

shipment_idstring nullable

Vendor shipment identifier for physical cards.

printing_atstring date-time nullable

When the request entered the printing milestone.

sent_atstring date-time nullable

When the physical card was dispatched.

delivered_atstring date-time nullable

When the cardholder confirmed delivery.

created_atstring date-time
updated_atstring date-time

Example response

{
  "id": "9f8b2c1d-4e5a-6b7c-8d9e-0f1a2b3c4d5e",
  "name": "Marketing — María Pérez",
  "user_id": "U2MGkNZT6zNPKtB85OpJi9SjFvG2",
  "company_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "budget_cents": 500000,
  "budget_currency": "CLP",
  "interval": "monthly",
  "purchase": "both",
  "vendor_id": "plh",
  "vendor_card_id": "Q2FyZDoxMDIwNjQ5Mw==",
  "type": "Cards::Plh::Request",
  "recipient_name": "María Pérez",
  "contact_phone": "+56912345678",
  "shipping_address": {
    "street": "Av. Apoquindo",
    "number": "4700",
    "municipality_id": 13114,
    "municipality_name": "Las Condes",
    "complement": "Oficina 501"
  },
  "shipping_municipality_name": "Las Condes",
  "kyc_completed": true,
  "tracking_number": "CL123456789",
  "tracking_url": "https://tracking.example.com/CL123456789",
  "estimated_delivery_date": "2026-08-01"
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.