Wise · Capability

Wise Platform API — card-order

Wise Platform API — card-order. 8 operations. Lead operation: Set card PIN. Self-contained Naftiko capability covering one Wise business surface.

Run with Naftiko Wisecard-order

What You Can Do

POST
Cardorderpresetpin — Set card PIN
/v1/twcard-data/v1/sensitive-card-data/preset-pin
POST
Cardordervalidateaddress — Validate an address
/v1/v3/spend/address/validate
POST
Cardordercreate — Create a card order
/v1/v3/spend/profiles/{profileid}/card-orders
GET
Cardorderlist — Retrieve all card orders
/v1/v3/spend/profiles/{profileid}/card-orders
GET
Cardorderprogramsget — Retrieve available card programs
/v1/v3/spend/profiles/{profileid}/card-orders/availability
GET
Cardorderget — Retrieve a card order
/v1/v3/spend/profiles/{profileid}/card-orders/{cardorderid}
GET
Cardorderrequirementsget — Retrieve card order requirements
/v1/v3/spend/profiles/{profileid}/card-orders/{cardorderid}/requirements
PUT
Cardorderstatusupdate — Update card order status
/v1/v3/spend/profiles/{profileid}/card-orders/{cardorderid}/status

MCP Tools

set-card-pin

Set card PIN

validate-address

Validate an address

read-only
create-card-order

Create a card order

retrieve-all-card-orders

Retrieve all card orders

read-only idempotent
retrieve-available-card-programs

Retrieve available card programs

read-only idempotent
retrieve-card-order

Retrieve a card order

read-only idempotent
retrieve-card-order-requirements

Retrieve card order requirements

read-only idempotent
update-card-order-status

Update card order status

idempotent

Capability Spec

platform-card-order.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Wise Platform API — card-order
  description: 'Wise Platform API — card-order. 8 operations. Lead operation: Set card PIN. Self-contained Naftiko capability
    covering one Wise business surface.'
  tags:
  - Wise
  - card-order
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WISE_API_KEY: WISE_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-card-order
    baseUri: https://api.wise.com
    description: Wise Platform API — card-order business capability. Self-contained, no shared references.
    resources:
    - name: twcard-data-v1-sensitive-card-data-preset-pin
      path: /twcard-data/v1/sensitive-card-data/preset-pin
      operations:
      - name: cardorderpresetpin
        method: POST
        description: Set card PIN
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: x-tw-twcard-order-id
          in: header
          type: string
          description: The card order ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v3-spend-address-validate
      path: /v3/spend/address/validate
      operations:
      - name: cardordervalidateaddress
        method: POST
        description: Validate an address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v3-spend-profiles-profileId-card-orders
      path: /v3/spend/profiles/{profileId}/card-orders
      operations:
      - name: cardordercreate
        method: POST
        description: Create a card order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: path
          type: integer
          description: The profile ID (personal or business).
          required: true
        - name: X-idempotence-uuid
          in: header
          type: string
          description: Idempotency key. Should be generated and used for any subsequent retries.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: cardorderlist
        method: GET
        description: Retrieve all card orders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: path
          type: integer
          description: The profile ID (personal or business).
          required: true
        - name: pageSize
          in: query
          type: integer
          description: The maximum number of card orders to return per page. This number can be between 10 - 100, and will
            default to 10.
        - name: pageNumber
          in: query
          type: integer
          description: The page number to retrieve the next set of card orders. The number has to be greater or equal to 1,
            and will default to 1.
    - name: v3-spend-profiles-profileId-card-orders-availability
      path: /v3/spend/profiles/{profileId}/card-orders/availability
      operations:
      - name: cardorderprogramsget
        method: GET
        description: Retrieve available card programs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: path
          type: integer
          description: The profile ID (personal or business).
          required: true
    - name: v3-spend-profiles-profileId-card-orders-cardOrderId
      path: /v3/spend/profiles/{profileId}/card-orders/{cardOrderId}
      operations:
      - name: cardorderget
        method: GET
        description: Retrieve a card order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: path
          type: integer
          description: The profile ID (personal or business).
          required: true
        - name: cardOrderId
          in: path
          type: integer
          description: The card order ID.
          required: true
    - name: v3-spend-profiles-profileId-card-orders-cardOrderId-requirements
      path: /v3/spend/profiles/{profileId}/card-orders/{cardOrderId}/requirements
      operations:
      - name: cardorderrequirementsget
        method: GET
        description: Retrieve card order requirements
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: path
          type: integer
          description: The profile ID (personal or business).
          required: true
        - name: cardOrderId
          in: path
          type: integer
          description: The card order ID.
          required: true
    - name: v3-spend-profiles-profileId-card-orders-cardOrderId-status
      path: /v3/spend/profiles/{profileId}/card-orders/{cardOrderId}/status
      operations:
      - name: cardorderstatusupdate
        method: PUT
        description: Update card order status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: path
          type: integer
          description: The profile ID (personal or business).
          required: true
        - name: cardOrderId
          in: path
          type: integer
          description: The card order ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.WISE_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-card-order-rest
    port: 8080
    description: REST adapter for Wise Platform API — card-order. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/twcard-data/v1/sensitive-card-data/preset-pin
      name: twcard-data-v1-sensitive-card-data-preset-pin
      description: REST surface for twcard-data-v1-sensitive-card-data-preset-pin.
      operations:
      - method: POST
        name: cardorderpresetpin
        description: Set card PIN
        call: platform-card-order.cardorderpresetpin
        with:
          x-tw-twcard-order-id: rest.x-tw-twcard-order-id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/spend/address/validate
      name: v3-spend-address-validate
      description: REST surface for v3-spend-address-validate.
      operations:
      - method: POST
        name: cardordervalidateaddress
        description: Validate an address
        call: platform-card-order.cardordervalidateaddress
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/spend/profiles/{profileid}/card-orders
      name: v3-spend-profiles-profileid-card-orders
      description: REST surface for v3-spend-profiles-profileId-card-orders.
      operations:
      - method: POST
        name: cardordercreate
        description: Create a card order
        call: platform-card-order.cardordercreate
        with:
          profileId: rest.profileId
          X-idempotence-uuid: rest.X-idempotence-uuid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: cardorderlist
        description: Retrieve all card orders
        call: platform-card-order.cardorderlist
        with:
          profileId: rest.profileId
          pageSize: rest.pageSize
          pageNumber: rest.pageNumber
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/spend/profiles/{profileid}/card-orders/availability
      name: v3-spend-profiles-profileid-card-orders-availability
      description: REST surface for v3-spend-profiles-profileId-card-orders-availability.
      operations:
      - method: GET
        name: cardorderprogramsget
        description: Retrieve available card programs
        call: platform-card-order.cardorderprogramsget
        with:
          profileId: rest.profileId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/spend/profiles/{profileid}/card-orders/{cardorderid}
      name: v3-spend-profiles-profileid-card-orders-cardorderid
      description: REST surface for v3-spend-profiles-profileId-card-orders-cardOrderId.
      operations:
      - method: GET
        name: cardorderget
        description: Retrieve a card order
        call: platform-card-order.cardorderget
        with:
          profileId: rest.profileId
          cardOrderId: rest.cardOrderId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/spend/profiles/{profileid}/card-orders/{cardorderid}/requirements
      name: v3-spend-profiles-profileid-card-orders-cardorderid-requirements
      description: REST surface for v3-spend-profiles-profileId-card-orders-cardOrderId-requirements.
      operations:
      - method: GET
        name: cardorderrequirementsget
        description: Retrieve card order requirements
        call: platform-card-order.cardorderrequirementsget
        with:
          profileId: rest.profileId
          cardOrderId: rest.cardOrderId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/spend/profiles/{profileid}/card-orders/{cardorderid}/status
      name: v3-spend-profiles-profileid-card-orders-cardorderid-status
      description: REST surface for v3-spend-profiles-profileId-card-orders-cardOrderId-status.
      operations:
      - method: PUT
        name: cardorderstatusupdate
        description: Update card order status
        call: platform-card-order.cardorderstatusupdate
        with:
          profileId: rest.profileId
          cardOrderId: rest.cardOrderId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-card-order-mcp
    port: 9090
    transport: http
    description: MCP adapter for Wise Platform API — card-order. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: set-card-pin
      description: Set card PIN
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-card-order.cardorderpresetpin
      with:
        x-tw-twcard-order-id: tools.x-tw-twcard-order-id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: validate-address
      description: Validate an address
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: platform-card-order.cardordervalidateaddress
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-card-order
      description: Create a card order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-card-order.cardordercreate
      with:
        profileId: tools.profileId
        X-idempotence-uuid: tools.X-idempotence-uuid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-all-card-orders
      description: Retrieve all card orders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-card-order.cardorderlist
      with:
        profileId: tools.profileId
        pageSize: tools.pageSize
        pageNumber: tools.pageNumber
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-available-card-programs
      description: Retrieve available card programs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-card-order.cardorderprogramsget
      with:
        profileId: tools.profileId
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-card-order
      description: Retrieve a card order
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-card-order.cardorderget
      with:
        profileId: tools.profileId
        cardOrderId: tools.cardOrderId
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-card-order-requirements
      description: Retrieve card order requirements
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-card-order.cardorderrequirementsget
      with:
        profileId: tools.profileId
        cardOrderId: tools.cardOrderId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-card-order-status
      description: Update card order status
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-card-order.cardorderstatusupdate
      with:
        profileId: tools.profileId
        cardOrderId: tools.cardOrderId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.