Worldline Contract API

Contract Api Controller

Operations 75

POST /issuers/{issuerId}/contracts/brand-advice Get a brand selection advice (beta) #
POST /issuers/{issuerId}/contracts/advise-product-extension Advice a product extension (beta) #
GET /issuers/{issuerId}/contracts/brand-advice-config/{issuerProductExternalReference} Retrieve brand advice algorithm configuration by issuer product external reference (beta) #
PATCH /issuers/{issuerId}/contracts/brand-advice-config/{issuerProductExternalReference} Update brand advice algorithm configuration by issuer product external reference (beta) #
POST /issuers/{issuerId}/contracts/create-consumer-contract Create consumer contract #
POST /issuers/{issuerId}/contracts/{contractReference}/sign Sign Contract #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/sign Sign Contract by external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference} Retrieve contract by external reference #
PATCH /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference} Update contract by external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/accounts List accounts for contract by external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/addon-subscriptions Retrieve the list of add-on services by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/addon-subscriptions Subscribe to add-on by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/addon-subscriptions/unsubscribe Unsubscribe add-on by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/add-cards-accounts Add cards and accounts to a contract by external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/card-contracts List card contracts for contract by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/close Close contract by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/update-all-customers-addresses Update addresses of all customers linked to the contract by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/suspend Suspend contract by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/cancel-close Cancel contract Closing by external reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/cancel-suspend Cancel contract Suspension by external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-fees List contract fees for a contract (Membership fee and Account setup fee models) by external reference #
PATCH /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-fees/{accountReference} Update contract fees for an account (Membership fee and Account setup fee models) by contract external reference #
PATCH /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-fees/external-accounts/{issuerAccountExternalReference} Update contract fees for an account (Membership fee and Account setup fee models) by contract external reference and account external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-owner Retrieve contract owner for a contract by external reference #
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/legitimacy-documents List legitimacy documents for a contract by external reference #
PUT /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/legitimacy-documents/external-customers/{issuerCustomerExternalReference} Update legitimacy document of a contract customer by contract external reference and customer external reference #
POST /issuers/{issuerId}/contracts/search Retrieve contracts by criteria #
GET /issuers/{issuerId}/contracts/{contractReference} Retrieve contract #
PATCH /issuers/{issuerId}/contracts/{contractReference} Update contract #
GET /issuers/{issuerId}/contracts/{contractReference}/accounts List accounts for contract #
POST /issuers/{issuerId}/contracts/{contractReference}/add-cards-accounts Add cards and accounts to a contract #
GET /issuers/{issuerId}/contracts/{contractReference}/addon-subscriptions Retrieve the list of add-on services #
POST /issuers/{issuerId}/contracts/{contractReference}/addon-subscriptions Subscribe to add-on #
POST /issuers/{issuerId}/contracts/{contractReference}/addon-subscriptions/unsubscribe Unsubscribe add-on #
GET /issuers/{issuerId}/contracts/{contractReference}/card-contracts List card contracts for contract #
POST /issuers/{issuerId}/contracts/{contractReference}/close Close contract #
POST /issuers/{issuerId}/contracts/{contractReference}/update-all-customers-addresses Update addresses of all customers linked to the contract #
POST /issuers/{issuerId}/contracts/{contractReference}/suspend Suspend contract #
POST /issuers/{issuerId}/contracts/{contractReference}/cancel-close Cancel contract closing #
POST /issuers/{issuerId}/contracts/{contractReference}/cancel-suspend Cancel contract suspension #
GET /issuers/{issuerId}/contracts/{contractReference}/contract-fees List contract fees for a contract (Membership fee and Account setup fee models) #
PATCH /issuers/{issuerId}/contracts/{contractReference}/contract-fees/{accountReference} Update contract fees for an account (Membership fee and Account setup fee models) #
PATCH /issuers/{issuerId}/contracts/{contractReference}/contract-fees/external-accounts/{issuerAccountExternalReference} Update contract fees for an account (Membership fee and Account setup fee models) by account external reference #
GET /issuers/{issuerId}/contracts/{contractReference}/contract-owner Retrieve contract owner for a contract #
GET /issuers/{issuerId}/contracts/{contractReference}/legitimacy-documents List legitimacy documents for a contract #
PUT /issuers/{issuerId}/contracts/{contractReference}/legitimacy-documents/{customerReference} Update legitimacy document of a contract customer #
POST /issuers/{issuerId}/contracts/{contractReference}/switch-principal-card Switch between principal and supplementary cards #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/switch-principal-card Switch between principal and supplementary cards by external reference #
POST /issuers/{issuerId}/contracts/{contractReference}/change-product Change the existing product for another one #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/change-product Change the existing product for another one by external reference #
POST /issuers/{issuerId}/contracts/{contractReference}/cancel-product-change Cancel a pending ProductChange #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/cancel-product-change Cancel a pending ProductChange by external reference #
POST /issuers/{issuerId}/contracts/{contractReference}/force-product-change Force a pending ProductChange #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/force-product-change Force a pending ProductChange by external reference #
POST /issuers/{issuerId}/contracts/{contractReference}/refund-fee-on-demand Refund fee by contract reference #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/refund-fee-on-demand Refund fee by issuer contract external reference #
POST /issuers/{issuerId}/contracts/{contractReference}/replace-customer Replace a customer within a consumer contract #
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/replace-customer Replace a customer within a consumer contract by external reference #
GET /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts Search contracts #
POST /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts Add a contract #
GET /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId} Retrieve a contract #
DELETE /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId} Delete a contract #
PATCH /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId} Update a contract #
POST /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/currencies Add currencies to a contract #
GET /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/addresses Retrieve the addresses of a contract #
POST /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/addresses Add addresses to a contract #
PATCH /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/addresses Update the addresses of a contract #
DELETE /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/addresses/{addressType} Delete an address from a contract #
GET /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/balances Retrieve the balances of a contract #
POST /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/balances Add balances to a contract #
PATCH /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/balances Update the balances of a contract #
GET /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/brands Retrieve the brand parameters of a contract #
POST /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/brands Add brands to a contract #
PATCH /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/brands Update the brand parameters of a contract #
DELETE /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/brands/{label} Delete a brand from a contract #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wordline-contract-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wordline-contract-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wordline Contract API
  version: '1.0'
  description: 'Operations tagged Contract across 2 of this provider''s published API definitions: worldline-card-issuing-api-2.41.1.json, worldline-merchant-contract-api-2.0.4.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
- url: /MerchantApiContract/api
tags:
- name: Contract
  description: Contract Api Controller
paths:
  /issuers/{issuerId}/contracts/brand-advice:
    post:
      tags:
      - Contract
      summary: Get a brand selection advice (beta)
      operationId: getBrandAdvice
      description: "This API allows getting an advice on which brand to select for a card creation (either first card along new contract, additional card or replacement card). This is applicable for products on which brand selection is configured. \nThe API returns the product extension for the advised card brand"
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityBrandAdvice'
      security:
      - basic: []
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandAdviceRequest'
        required: true
    servers:
    - url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
  /issuers/{issuerId}/contracts/advise-product-extension:
    post:
      tags:
      - Contract
      summary: Advice a product extension (beta)
      operationId: adviceProductExtension
      description: "This API is used to get the product extension for a card creation depending on the configured algorithm. It can be used for the first card or additional card. \nThe main input fields are:\n- The issuer ID\n- The issuer product external reference for which the advice is requested.\nThe API returns the product extension advised for the card creation."
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityAdviceProductExtensionResponse'
      security:
      - basic: []
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdviceProductExtensionRequest'
        required: true
    servers:
    - url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
  /issuers/{issuerId}/contracts/brand-advice-config/{issuerProductExternalReference}:
    get:
      tags:
      - Contract
      summary: Retrieve brand advice algorithm configuration by issuer product external reference (beta)
      operationId: retrieveBrandAdviceConfigByIssuerProductExtRef
      description: 'The API allows the brand advice configuration to be retrieved.

        The main input fields are:

        - The issuer ID

        - The issuer product external reference for which the configuration details are requested.'
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      - name: issuerProductExternalReference
        in: path
        description: Issuer Product External Reference
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityBrandAdviceConfig'
      security:
      - basic: []
      deprecated: true
    patch:
      tags:
      - Contract
      summary: Update brand advice algorithm configuration by issuer product external reference (beta)
      operationId: modifyBrandAdviceConfigByIssuerProductExtRef
      description: 'The API allows a list of pre-defined parameters (attributes) of a brand advice configuration to be updated.

        The main input fields are:

        - The issuer ID

        - The issuer product external reference for which configuration updates are required.

        - Parameters to be updated


        The brand advice configuration parameters can be retrieved using the Retrieve brand advice detail API.

        The updated parameters should be consistent with the initial product configuration defined in the system (e.g., the profiles to be updated must exist in the system to be found).'
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      - name: issuerProductExternalReference
        in: path
        description: Issuer Product External Reference
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityModifyBrandAdviceConfigResponse'
      security:
      - basic: []
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyBrandAdviceConfigRequest'
    servers:
    - url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
  /issuers/{issuerId}/contracts/create-consumer-contract:
    post:
      x-wl-idempotent: true
      x-wl-lra-operation: true
      x-wl-lra-interface: true
      tags:
      - Contract
      summary: Create consumer contract
      description: "The Create Consumer Contract API allows the creation of a new consumer contract already signed by the customer or not, and its first card(s), either with physical support (plastic) or not (virtual card).\n\nPre-conditions: \n- The request correlation ID, if provided by the issuer, must be unique. \nIn case of re-use of a request correlation ID from an existing contract, the system will return the data from the existing contract (e.g., if the API call returns a \"time-out“ response, the same request correlation ID can be provided to retrieve contract data from WL system for further checks).\n Idempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once. The response will be retrieved directly from our system.\n- An active consumer product exists with a physical or pure virtual card.\n\nThe issuer can request the creation of a new consumer contract from the provided active consumer product with additional information such as\n- the contract is already signed (status as \"SIGNED\") by the customer or not (status as \"AWAITING_SIGNATURE\")\n- The issuer can provide a list of new customers or the references to existing customers in Worldline system\n\nAs a result, the contract is created\n- with the provided status by the issuer: either the contract is already signed (its account hierarchy is immediately in \"ACTIVE\" status) or not  (its account hierarchy is in \"AWAITING_SIGNATURE\" status)\n- with each card and its status set to created or active, depending on the card product configuration \n- with related card order to produce the physical card, if plastic required and the pin mailer order if required. \n\nThe API response returns newly created contract information such as\n- the new contract itself\n- the different identifiers such as the contract reference, contract owner, account owner, add-on, card contract, card and cardholder. Each identifier is composed of the Worldline internal reference and the external reference (is not present if not provided by the issuer and not generated by any algorithm) \n\nThe references are used to: retrieve/update/close contracts, list accounts for a contract, retrieve the contract owner for a contract, retrieve/update legitimacy documents, etc.. "
      operationId: createConsumerContract
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: filter
        in: query
        description: Filtered Fields
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityCreateConsumerContractResponse'
      security:
      - basic: []
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConsumerContractRequest'
    servers:
    - url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
  /issuers/{issuerId}/contracts/{contractReference}/sign:
    post:
      x-wl-idempotent: true
      x-wl-lra-operation: true
      tags:
      - Contract
      summary: Sign Contract
      description: "The API allows to \n- sign a contract, identified by the Issuer Contract external reference or the Contract reference (the contract must be in \"awaiting signature\" status)\n- request to activate all cards within this contract simultaneously\n\nAs a result :\n- the contract is signed\n- the accounts within the contract are activated\n- the cards within the contract are activated if requested\n- the contract can be updated"
      operationId: signContract
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: filter
        in: query
        description: Filtered Fields
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      - name: contractReference
        in: path
        description: Contract Reference
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntitySignContractResponse'
      security:
      - basic: []
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignContractRequest'
    servers:
    - url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
  /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/sign:
    post:
      x-wl-idempotent: true
      x-wl-lra-operation: true
      tags:
      - Contract
      summary: Sign Contract by external reference
      description: "The API allows to \n- sign a contract, identified by the Issuer Contract external reference or the Contract reference (the contract must be in \"awaiting signature\" status)\n- request to activate all cards within this contract simultaneously\n\nAs a result :\n- the contract is signed\n- the accounts within the contract are activated\n- the cards within the contract are activated if requested\n- the contract can be updated"
      operationId: signExternalContract
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: filter
        in: query
        description: Filtered Fields
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      - name: issuerContractExternalReference
        in: path
        description: Issuer Contract External Reference
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntitySignContractResponse'
      security:
      - basic: []
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignContractRequest'
    servers:
    - url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
  /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}:
    get:
      tags:
      - Contract
      summary: Retrieve contract by external reference
      operationId: retrieveContractByIssuerExtRef
      description: 'This API allows retrieving a particular contract from its reference or its issuer external reference.

        The API response contains contract information such as:

        - contract identifier with the contract reference and the issuer external contract reference if previously provided

        - product change information if any, such as its current status (scheduled, done, cancelled), new product, new contract if it exists

        - embedded fields if requested such as list of all customers or identifiers  linked to this contract (e.g. contract owner, root account owner, cardholder(s)), card contracts'
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: relatedResourceIdentifiersOnly
        in: query
        description: "If relatedResourceIdentifiersOnly is true, the API returns only identifiers related to the embedded resources (for example, if embedded fields cardContracts.cards are requested and relatedResourceIdentifiersOnly is true, only cardContractIdentifier in CardContract and cardIdentifier in Card will be returned). \nIf relatedResourceIdentifiersOnly is false, the API returns all resource information (for example, if embedded fields cardContracts.cards are requested and relatedResourceIdentifiersOnly is false, all information in CardContract and all information in Card will be returned).\nBy default, relatedResourceIdentifiersOnly is false."
        required: false
        schema:
          type: boolean
          default: false
      - name: relatedResourceBaseInfoOnly
        in: query
        description: 'relatedResourceBaseInfoOnly (cannot be used with relatedResourceIdentifiersOnly):<br/><br/>If relatedResourceBaseInfoOnly is true, the API returns only main information related to the embedded resources (for example, if embedded fields accounts and cardContracts are requested and relatedResourceBaseInfoOnly is true, only main information of Account and Card Contract will be returned).<br/><br/>The main information is as follows :<br/><br/>- For Account: accountIdentifier, root, status, accountOwnerIdentifier and accountGuarantorIdentifier<br/>- For Card Contract: cardContractIdentifier, cardHolderIdentifier and status<br/>- For Card: cardIdentifier, pan, maskedPan, expiryDate, panSequenceNumber, status, externalStatus, panReference and blockingReason<br/>- For Customer: customerIdentifier, courtesyTitle, firstName and lastName<br/><br/>If relatedResourceBaseInfoOnly is false, the API returns all resource information (for example, if embedded fields accounts and cardContracts are requested and relatedResourceBaseInfoOnly is false, all information in Account and all information in CardContract will be returned).<br/><br/>By default, relatedResourceBaseInfoOnly is false.'
        required: false
        schema:
          type: boolean
          default: false
      - name: filter
        in: query
        description: Filtered Fields
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      - name: issuerContractExternalReference
        in: path
        description: Issuer Contract External Reference
        required: true
        schema:
          type: string
      - name: embed
        in: query
        description: Embedded Fields
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - advertisementFlags
            - deliveryChannel
            - legitimacyDocuments
            - contractFees
            - accountIdentifiers
            - accounts
            - cardContractIdentifiers
            - cardContracts
            - dataAnalysisFlags
            - contractCustomerIdentifiers
            - contractCustomers
            - addonSubscriptions
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityContract'
      security:
      - basic: []
      deprecated: false
    patch:
      tags:
      - Contract
      summary: Update contract by external reference
      operationId: modifyContractByIssuerExtRef
      description: 'The API allows to update certain data of an existing consumer contract, identified by the Issuer Contract external reference or the Contract reference :

        - allowed advertisement channels (flags)

        - allowed data analysis

        - the issuer branch code (e.g. bank agency in charge of this contract)

        - allowed delivery channel for possible letters

        - if the membership fee should be reimbursed when a card contract is closed

        - how many cards should free of membership fee and/or account setup fee

        - if the primary card should be considered as the first to be free for membership/account setup fees or if only additional cards should be considered

        - if both membership and account setup fees should be waived during contract lifecycle (can be changed at any moment)

        - the membership fee anniversary date can be changed

        - pass-through data can be updated (specificFields)


        As a result the contract is immediately updated with provided data in our system.'
      parameters:
      - name: WL-Correlation-ID
        in: header
        required: false
        schema:
          type: string
      - name: WL-Origin
        in: header
        required: false
        schema:
          type: string
      - name: WL-Username
        in: header
        required: false
        schema:
          type: string
      - name: filter
        in: query
        description: Filtered Fields
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: issuerId
        in: path
        description: Issuer ID
        required: true
        schema:
          type: string
      - name: issuerContractExternalReference
        in: path
        description: Issuer Contract External Reference
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayErrorApiResponse'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseEntityM

# --- truncated at 32 KB (643 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wordline/refs/heads/main/openapi/wordline-contract-api-openapi.yml