Weavr Managed Cards API

Managed Cards are a type of financial instrument offered by Weavr. Cards created in prepaid mode have their own balance, whereas those created in debit mode tap into the balance of their parent Managed Accounts. Apart from being used at merchants for puchases, prepaid mode cards can also be used as sources and destinations in the `transfer` transaction. With the `access_token` representing the identity and the consent of the identity, you will be able to perform operations on the identity's Managed Cards, such as getting a Managed Card's details and managing its spend rules.

OpenAPI Specification

weavr-managed-cards-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: v3
  title: Weavr Multi Product BackOffice Access Token Managed Cards API
  x-logo:
    url: https://storage.googleapis.com/weavr-cdn/weavr_logo-new.png
    backgroundColor: '#FFFFFF'
    altText: Weavr
  description: 'Weavr Multi Back Office API allows you, as an innovator, to perform various back office operations concerning

    identities and their instruments, without requiring the users to be logged in.


    A token is to be obtained through the `access_token` method, and this will allow relevant operations

    to be performed on behalf of this same identity.

    '
  contact:
    name: Weavr
    url: https://weavr.io
servers:
- description: Weavr Sandbox Environment
  url: https://sandbox.weavr.io/multi/backoffice
tags:
- name: Managed Cards
  description: "Managed Cards are a type of financial instrument offered by Weavr. \nCards created in prepaid mode have their own balance, whereas those created in debit mode tap into the balance of their parent Managed Accounts. \nApart from being used at merchants for puchases, prepaid mode cards can also be used as sources and destinations in the `transfer` transaction.\n\nWith the `access_token` representing the identity and the consent of the identity, you will be able to perform operations on the identity's Managed Cards,\nsuch as getting a Managed Card's details and managing its spend rules.\n"
paths:
  /managed_cards/{id}:
    get:
      tags:
      - Managed Cards
      description: Returns all details of the managed card identified by the `id` path parameter.
      summary: Get a managed card
      operationId: managedCardGet
      parameters:
      - name: id
        in: path
        description: The unique identifier of a card.
        required: true
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardGetResponse'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
    patch:
      tags:
      - Managed Cards
      description: Update the details of the managed card identified by the `id` path parameter.
      summary: Update a managed card
      operationId: managedCardUpdate
      x-permissions:
      - i:managed_cards:update
      - i:managed_cards:update:all
      - i:managed_cards:update:own
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of a card.
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/ManagedCardUpdateRequest'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardUpdateConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/renewal:
    patch:
      tags:
      - Managed Cards
      description: 'Update the renewal type of the managed card identified by the `id` path parameter.


        Please contact our support team or your account manager to request access to this endpoint.

        '
      summary: Update a managed card's renewal type
      operationId: managedCardRenewalTypeUpdate
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of a card.
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/ManagedCardRenewalTypeUpdateRequest'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardUpdateConflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
  /managed_cards/{id}/remove:
    post:
      tags:
      - Managed Cards
      description: 'Destroys the managed card identified by the `id` path parameter. Unlike block, this action is not reversible.


        A managed card must be empty before it can be destroyed using this operation.

        '
      summary: Remove a managed card
      operationId: managedCardRemove
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of a managed card.
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardRemoveConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
  /managed_cards/{id}/block:
    post:
      tags:
      - Managed Cards
      description: Blocks the managed card identified by the `id` path parameter. This is a reversible action and the card can be unblocked using the _managedCardUnblock_ operation.
      summary: Block a managed card
      operationId: managedCardBlock
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of a managed card.
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardBlockConflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
  /managed_cards/{id}/unblock:
    post:
      tags:
      - Managed Cards
      description: 'Unblocks the managed card identified by the `id` path parameter.

        The managed card must have `state.blockedReason` as `USER` so that it can be unblocked.

        If the managed card was blocked by `SYSTEM`, users cannot unblock it.

        '
      summary: Unblock a managed card
      operationId: managedCardUnblock
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of the managed card.
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardUnblockConflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
  /managed_cards/{id}/spend_rules:
    get:
      tags:
      - Managed Cards
      summary: Get all spend rules for a managed card
      operationId: managedCardSpendRulesGet
      description: Fetch the list of spend rules associated with the managed card identified by the `id` path parameter.
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardSpendRulesGetResponse'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
    post:
      tags:
      - Managed Cards
      summary: Create spend rules for a managed card
      operationId: managedCardSpendRulesCreate
      description: Create the spend rules associated with the managed card identified by the `id` path parameter.
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      requestBody:
        $ref: '#/components/requestBodies/CardLevelSpendRulesRequest'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardSpendRulesCreateConflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
    patch:
      tags:
      - Managed Cards
      summary: Update spend rules for a managed card
      operationId: managedCardSpendRulesUpdate
      description: Must be user after a POST, to update individual spend rules associated with the managed card identified by the `id` path parameter.
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/UpdateCardLevelSpendRulesRequest'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardSpendRulesUpdateConflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
    delete:
      tags:
      - Managed Cards
      summary: Delete all spend rules for a managed card
      operationId: managedCardSpendRulesDelete
      description: Remove all spend rules associated with the managed card identified by the `id` path parameter.
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
  /managed_cards/{id}/statement:
    get:
      tags:
      - Managed Cards
      description: Returns a list of transactions against the managed card identified by the `id` path parameter, matching the criteria provided in the request.
      summary: Get a managed card statement
      operationId: managedCardStatement
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of a managed card.
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/accept'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/orderByTimestamp'
      - $ref: '#/components/parameters/fromTimestamp'
      - $ref: '#/components/parameters/toTimestamp'
      - $ref: '#/components/parameters/singleEntryPerTransaction'
      - $ref: '#/components/parameters/statementTransactionType'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardStatementResponse'
        '400':
          $ref: '#/components/responses/BackofficeBadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api_key: []
  /managed_cards:
    post:
      tags:
      - Managed Cards
      description: 'Creates a managed card for the consumer or corporate identity.

        The Managed Card Profile (configured in the Multi Portal) specified determines the behaviour and restrictions that the managed card will have.

        '
      summary: Create a managed card
      operationId: managedCardCreate
      x-permissions:
      - i:managed_cards:create
      parameters:
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/ManagedCardRequest'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '409':
          $ref: '#/components/responses/ManagedCardConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
    get:
      tags:
      - Managed Cards
      description: Fetch cards matching the search criteria provided.
      summary: Get all managed cards
      operationId: managedCardsGet
      x-permissions:
      - i:managed_cards:list
      - i:managed_cards:list:all
      - i:managed_cards:list:own
      parameters:
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/profileId'
      - $ref: '#/components/parameters/friendlyName'
      - $ref: '#/components/parameters/state'
      - $ref: '#/components/parameters/state_blockedReason'
      - $ref: '#/components/parameters/state_destroyedReason'
      - $ref: '#/components/parameters/currency'
      - $ref: '#/components/parameters/card_type'
      - $ref: '#/components/parameters/card_renewal_type'
      - name: externalHandle
        in: query
        required: false
        description: Search by the card's `externalHandle`.
        schema:
          type: string
      - name: cardNumberFirstSix
        in: query
        required: false
        description: Filter by first six digits of the card.
        schema:
          pattern: ^[0-9]{6}$
          type: string
      - name: cardNumberLastFour
        in: query
        required: false
        description: Filter by last four digits of the card.
        schema:
          pattern: ^[0-9]{4}$
          type: string
      - $ref: '#/components/parameters/createdFrom'
      - $ref: '#/components/parameters/createdTo'
      - name: mode
        in: query
        required: false
        description: Filter by card mode (prepaid mode or debit mode).
        schema:
          type: string
          enum:
          - DEBIT_MODE
          - PREPAID_MODE
      - $ref: '#/components/parameters/tag'
      - name: parentManagedAccountId
        in: query
        required: false
        description: Filter by the Id of the parent managed account associated with the card. This is applicable only for debit mode cards.
        schema:
          type: string
          pattern: ^[0-9]+$
      - name: manufacturingState
        in: query
        required: false
        schema:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/ManufacturingState'
      - $ref: '#/components/parameters/userIdQuery'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardPageResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /deprecated/managed_cards/{id}/statement:
    get:
      deprecated: true
      tags:
      - Managed Cards
      description: Deprecated in favour of [GET /managed_cards/{id}/statements](#tag/Managed-Cards/operation/managedCardStatements). Returns a list of transactions against the managed card identified by the `id` path parameter, matching the criteria provided in the request.
      summary: Get a managed card statement (deprecated)
      operationId: managedCardStatementDeprecated
      x-permissions:
      - i:managed_cards:statement
      - i:managed_cards:statement:own
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of a managed card.
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/accept'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/statementLimit'
      - $ref: '#/components/parameters/orderByTimestamp'
      - $ref: '#/components/parameters/fromTimestamp'
      - $ref: '#/components/parameters/toTimestamp'
      - $ref: '#/components/parameters/singleEntryPerTransaction'
      - $ref: '#/components/parameters/statementTransactionType'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardStatementResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/transactions:
    get:
      tags:
      - Managed Cards
      description: 'Returns all transactional activity on the managed card identified by the `id` path parameter.


        This includes pending authorisations, completed settlements, refunds, and all other card transaction types

        in a unified schema.

        '
      summary: Get transaction activity for a managed card
      operationId: managedCardTransactionsGet
      x-permissions:
      - i:managed_cards:statement
      - i:managed_cards:statement:own
      parameters:
      - name: id
        in: path
        description: The unique identifier of the managed card.
        required: true
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/transactionActivityType'
      - $ref: '#/components/parameters/transactionActivityStatus'
      - $ref: '#/components/parameters/transactionActivityDirection'
      - $ref: '#/components/parameters/creationTimestampFrom'
      - $ref: '#/components/parameters/creationTimestampTo'
      - $ref: '#/components/parameters/lastUpdatedTimestampFrom'
      - $ref: '#/components/parameters/lastUpdatedTimestampTo'
      - $ref: '#/components/parameters/sortOrder'
      - $ref: '#/components/parameters/transactionActivitySortBy'
      responses:
        '200':
          $ref: '#/components/responses/InstrumentTransactionActivityListResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/transactions/{transactionId}:
    get:
      tags:
      - Managed Cards
      description: Returns a specific transaction on the managed card.
      summary: Get a specific transaction for a managed card
      operationId: managedCardTransactionGet
      x-permissions:
      - i:managed_cards:statement
      - i:managed_cards:statement:own
      parameters:
      - name: id
        in: path
        description: The unique identifier of the managed card.
        required: true
        schema:
          type: string
          pattern: ^[0-9]+$
      - name: transactionId
        in: path
        description: The unique identifier of the transaction.
        required: true
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '200':
          $ref: '#/components/responses/InstrumentTransactionActivityResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/physical:
    post:
      tags:
      - Managed Cards
      description: 'Upgrades the virtual card identified by the `id` path parameter to physical.


        Before cards can be upgraded, a physical card programme must be set up and the card profile configuration updated accordingly.

        '
      summary: Upgrade a card to physical
      operationId: managedCardPhysicalUpgrade
      x-permissions:
      - i:managed_cards:create_physical
      - i:managed_cards:create_physical:own
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/ManagedCardPhysicalUpgradeRequest'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardGetResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardPhysicalUpgradeConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/physical/activate:
    post:
      tags:
      - Managed Cards
      description: Activates the physical card identified by the `id` path paramter.
      summary: Activate a physical card
      operationId: managedCardPhysicalActivate
      x-permissions:
      - i:managed_cards:activate_physical
      - i:managed_cards:activate_physical:own
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/ManagedCardPhysicalActivateRequest'
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardGetResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardPhysicalActivateConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/physical/pin:
    get:
      tags:
      - Managed Cards
      description: Retrieves the PIN of the physical card identified by the `id` path parameter.
      summary: Get PIN for a physical card
      operationId: managedCardPhysicalPinGet
      x-permissions:
      - i:managed_cards:get_physical_pin
      - i:managed_cards:get_physical_pin:own
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '200':
          $ref: '#/components/responses/ManagedCardPhysicalPinGetResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardPhysicalPinGetConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/physical/pin/unblock:
    patch:
      tags:
      - Managed Cards
      description: 'Physical cards can be marked as `pinBlocked` if there are too many failed PIN attempts.


        Use this operation to unblock a PIN so that the card can be used again.

        '
      summary: Unblock PIN for a physical card
      operationId: managedCardPhysicalPinUnBlock
      x-permissions:
      - i:managed_cards:unblock_physical_pin
      - i:managed_cards:unblock_physical_pin:own
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        schema:
          type: string
          pattern: ^[0-9]+$
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ManagedCardPhysicalPinUnBlockConflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/Error'
      security:
      - auth_token: []
        api-key: []
  /managed_cards/{id}/physical/replace_damaged:
    post:
      tags:
      - Managed Cards
      description: Report as damaged, and replace the physical card identified by the `id` path parameter.
      summary: Replace a damaged physical card
      operationId: managedCardPhysicalReplaceDamaged
      x-permissions:
      - i:managed_cards:replace_damaged
      - i:managed_cards:replace_damaged:own
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          pattern: ^[0-9]+$
      - $ref: '#/components/parameters/idempotency-ref'
      requestBody:
        $ref: '#/components/requestBodies/ManagedCardPhysicalReplaceDamagedRequest'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InstrumentForbidden'
        '404':
          $ref: '#/components/res

# --- truncated at 32 KB (196 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/weavr/refs/heads/main/openapi/weavr-managed-cards-api-openapi.yml