Skip to content

card-vault

← All modules

4 endpoints.

POST /api/v1/vault/authorizations

Ingest Authorization

Parameters

NameInRequiredTypeDescription
x-vault-secretheaderno

Request body

json
{
  "properties": {
    "site": {
      "type": "string",
      "title": "Site"
    },
    "email": {
      "type": "string",
      "title": "Email"
    },
    "customer": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Customer"
    },
    "authorization_code": {
      "type": "string",
      "title": "Authorization Code"
    },
    "reusable": {
      "type": "boolean",
      "title": "Reusable",
      "default": true
    },
    "signature": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Signature"
    },
    "last4": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Last4"
    },
    "brand": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Brand"
    },
    "exp": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Exp"
    },
    "bank": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Bank"
    },
    "reference": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reference"
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Source"
    },
    "seen_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Seen At"
    }
  },
  "type": "object",
  "required": [
    "site",
    "email",
    "authorization_code"
  ],
  "title": "CardAuthIngest",
  "description": "Payload a storefront pushes on every successful charge."
}

200 — Successful Response

json
{}

422 — Validation Error

json
{
  "properties": {
    "detail": {
      "items": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

POST /api/v1/vault/cards

Query Cards

Parameters

NameInRequiredTypeDescription
x-vault-secretheaderno

Request body

json
{
  "properties": {
    "site": {
      "type": "string",
      "title": "Site"
    },
    "email": {
      "type": "string",
      "title": "Email"
    }
  },
  "type": "object",
  "required": [
    "site",
    "email"
  ],
  "title": "CardQuery",
  "description": "Storefront lookup of a customer's saved cards (machine-to-machine)."
}

200 — Successful Response

json
{
  "type": "array",
  "items": {
    "properties": {
      "id": {
        "type": "string",
        "title": "Id"
      },
      "site": {
        "type": "string",
        "title": "Site"
      },
      "email": {
        "type": "string",
        "title": "Email"
      },
      "customer": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Customer"
      },
      "authorization_code": {
        "type": "string",
        "title": "Authorization Code"
      },
      "reusable": {
        "type": "boolean",
        "title": "Reusable"
      },
      "signature": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Signature"
      },
      "last4": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last4"
      },
      "brand": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Brand"
      },
      "exp": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Exp"
      },
      "bank": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Bank"
      },
      "last_reference": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last Reference"
      },
      "last_source": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last Source"
      },
      "last_seen_at": {
        "anyOf": [
          {
            "type": "string",
            "format": "date-time"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last Seen At"
      },
      "status": {
        "type": "string",
        "title": "Status"
      }
    },
    "type": "object",
    "required": [
      "id",
      "site",
      "email",
      "authorization_code",
      "reusable",
      "status"
    ],
    "title": "CardOut",
    "description": "Machine response — INCLUDES the token so the storefront can charge it."
  },
  "title": "Response Query Cards Api V1 Vault Cards Post"
}

422 — Validation Error

json
{
  "properties": {
    "detail": {
      "items": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

GET /api/v1/vault/manage/cards

Manage List

Parameters

NameInRequiredTypeDescription
sitequeryno
qqueryno

200 — Successful Response

json
{
  "type": "array",
  "items": {
    "properties": {
      "id": {
        "type": "string",
        "title": "Id"
      },
      "site": {
        "type": "string",
        "title": "Site"
      },
      "email": {
        "type": "string",
        "title": "Email"
      },
      "customer": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Customer"
      },
      "last4": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last4"
      },
      "brand": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Brand"
      },
      "exp": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Exp"
      },
      "bank": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Bank"
      },
      "reusable": {
        "type": "boolean",
        "title": "Reusable"
      },
      "status": {
        "type": "string",
        "title": "Status"
      },
      "last_source": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last Source"
      },
      "last_seen_at": {
        "anyOf": [
          {
            "type": "string",
            "format": "date-time"
          },
          {
            "type": "null"
          }
        ],
        "title": "Last Seen At"
      },
      "created_at": {
        "type": "string",
        "format": "date-time",
        "title": "Created At"
      }
    },
    "type": "object",
    "required": [
      "id",
      "site",
      "email",
      "reusable",
      "status",
      "created_at"
    ],
    "title": "CardMasked",
    "description": "Admin/UI response — masked, never the token."
  },
  "title": "Response Manage List Api V1 Vault Manage Cards Get"
}

422 — Validation Error

json
{
  "properties": {
    "detail": {
      "items": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

DELETE /api/v1/vault/manage/cards/{card_id}

Manage Delete

Parameters

NameInRequiredTypeDescription
card_idpathyesstring

204 — Successful Response

422 — Validation Error

json
{
  "properties": {
    "detail": {
      "items": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

Lubb ERP Documentation