---
updatedAt: 2026-06-06T07:52:57.000Z
agentTools:
  projectIndex: https://developers.paygreen.fr/llms.txt
---

# Create Instrument

Instruments represent a Buyers payment method. Instruments have a 2 years lifespan.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Payment API",
    "description": "This API processes PayGreen V3 payment",
    "version": "1.46.3"
  },
  "servers": [
    {
      "url": "https://api.paygreen.fr",
      "description": "Production environment"
    },
    {
      "url": "https://sb-api.paygreen.fr",
      "description": "Sandbox environment"
    }
  ],
  "paths": {
    "/payment/instruments": {
      "post": {
        "tags": [
          "Instruments"
        ],
        "summary": "Create Instrument",
        "description": "Instruments represent a Buyers payment method. Instruments have a 2 years lifespan.",
        "operationId": "post_create_instrument",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInstrumentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the created Instrument",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instrument"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Unprocessable request"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "PublicKey": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "CreateInstrumentRequest": {
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string",
            "pattern": "(tkn|tok)_[0-9a-f]{32}",
            "example": "tkn_5e56a14bd39b4370b524a722e02e8813"
          },
          "with_authorization": {
            "description": "If `true`, the instrument will be authorized. Otherwise, it will be created as a simple instrument.",
            "type": "boolean",
            "default": false
          },
          "buyer": {
            "description": "Existing Buyer ID, or new Buyer entity. Required if Instrument is not set.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/Buyer"
              },
              {
                "description": "Buyer ID",
                "type": "string",
                "example": "buy_83b69ca083eb4b6aba942dbce0157377"
              }
            ]
          }
        },
        "type": "object"
      },
      "Address": {
        "required": [
          "city",
          "country",
          "line1",
          "postal_code"
        ],
        "properties": {
          "city": {
            "description": "The city of the address",
            "type": "string",
            "minimum": 1,
            "maxLength": 255,
            "minLength": 1,
            "example": "Rouen"
          },
          "country": {
            "description": "The country code of the address, it must be an ISO 3166-1 alpha-2",
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "example": "FR"
          },
          "line1": {
            "description": "The first line of the address",
            "type": "string",
            "minimum": 1,
            "maxLength": 255,
            "minLength": 1,
            "example": "107 Allée Francois Mitterand"
          },
          "line2": {
            "description": "The second line of the address",
            "type": "string",
            "minimum": 1,
            "maxLength": 255,
            "minLength": 1,
            "example": "Line 2",
            "nullable": true
          },
          "postal_code": {
            "description": "The postal code of the address",
            "type": "string",
            "minimum": 1,
            "maxLength": 10,
            "minLength": 1,
            "example": "76100"
          },
          "state": {
            "description": "The state of the address",
            "type": "string",
            "minimum": 1,
            "maxLength": 255,
            "minLength": 1,
            "example": "Normandie",
            "nullable": true
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "nullable": true
          }
        },
        "type": "object"
      },
      "UuidInterface": {
        "type": "object"
      },
      "Buyer": {
        "required": [
          "id",
          "first_name",
          "last_name",
          "email",
          "created_at"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of this Buyer",
            "type": "string",
            "pattern": "buy_[0-9a-f]{32}"
          },
          "object": {
            "description": "Object type",
            "type": "string",
            "default": "buyer"
          },
          "billing_address": {
            "description": "The billing address of the Buyer",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "reference": {
            "description": "A reference you can use to identify this Buyer",
            "type": "string",
            "maximum": 50,
            "minimum": 1,
            "maxLength": 50,
            "minLength": 1,
            "nullable": true
          },
          "first_name": {
            "description": "The first name of the Buyer",
            "type": "string",
            "maximum": 50,
            "minimum": 1,
            "maxLength": 50,
            "minLength": 1
          },
          "last_name": {
            "description": "The last name of the Buyer",
            "type": "string",
            "maximum": 50,
            "minimum": 1,
            "maxLength": 50,
            "minLength": 1
          },
          "email": {
            "description": "The e-mail address of the Buyer",
            "type": "string",
            "format": "email"
          },
          "phone_number": {
            "description": "The phone number of the Buyer",
            "type": "string",
            "maximum": 20,
            "maxLength": 20,
            "nullable": true
          },
          "donor_id": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UuidInterface"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "type": "object"
      },
      "Instrument": {
        "required": [
          "id",
          "platform",
          "billing_typology",
          "created_at"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of this Instrument",
            "type": "string",
            "pattern": "ins_[0-9a-f]{32}"
          },
          "buyer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Buyer"
              }
            ]
          },
          "platform": {
            "description": "The platform on which this Instrument can be used",
            "type": "string",
            "enum": [
              "bank_card",
              "amex",
              "ancv",
              "swile",
              "mcv",
              "restoflash",
              "conecs",
              "apple_pay",
              "edenred",
              "google_pay",
              "bancontact",
              "klarna"
            ]
          },
          "reuse_allowed": {
            "type": "boolean",
            "default": true,
            "nullable": true
          },
          "expired": {
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "paygreen_expiration": {
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "last_used_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expiry_month": {
            "type": "integer",
            "nullable": true
          },
          "expiry_year": {
            "type": "integer",
            "nullable": true
          },
          "scheme": {
            "type": "string",
            "nullable": true
          },
          "last4": {
            "type": "string",
            "nullable": true
          },
          "bin": {
            "type": "string",
            "nullable": true
          },
          "issuer": {
            "description": "The entity that issued this payment method when available.",
            "type": "string",
            "example": "pluxee",
            "nullable": true
          },
          "issuer_country": {
            "type": "string",
            "nullable": true
          },
          "daily_balance": {
            "type": "integer",
            "nullable": true
          },
          "authorized": {
            "type": "boolean",
            "default": false
          },
          "billing_typology": {
            "description": "The typology of this Instrument",
            "type": "string",
            "enum": [
              "euro_zone",
              "outside_euro_zone",
              "business_card"
            ]
          },
          "detached_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "bearerFormat": "JWT",
        "scheme": "bearer"
      },
      "PublicKey": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "tags": [
    {
      "name": "Instruments"
    }
  ]
}
```