openapi: 3.0.1 info: title: Lemon Squeezy Checkouts Customers API description: The Lemon Squeezy API is a REST API based on the JSON:API specification. It exposes the resources of a Lemon Squeezy merchant-of-record account - stores, products, variants, prices, files, orders, order items, customers, subscriptions, subscription invoices, subscription items, usage records, license keys, license key instances, checkouts, discounts, discount redemptions, and webhooks. All requests use Bearer API key authentication and must send the Accept and Content-Type headers application/vnd.api+json. termsOfService: https://www.lemonsqueezy.com/terms contact: name: Lemon Squeezy Support url: https://docs.lemonsqueezy.com version: v1 servers: - url: https://api.lemonsqueezy.com/v1 security: - api_key: [] tags: - name: Customers paths: /customers: get: operationId: listCustomers tags: - Customers summary: List all customers parameters: - name: filter[store_id] in: query schema: type: string - name: filter[email] in: query schema: type: string responses: '200': description: A list of customers. content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiCollection' post: operationId: createCustomer tags: - Customers summary: Create a customer requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiResource' responses: '201': description: The created customer object. content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiResource' /customers/{id}: get: operationId: retrieveCustomer tags: - Customers summary: Retrieve a customer parameters: - $ref: '#/components/parameters/ResourceId' responses: '200': description: A customer object. content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiResource' patch: operationId: updateCustomer tags: - Customers summary: Update a customer description: Update a customer's attributes, or archive the customer. parameters: - $ref: '#/components/parameters/ResourceId' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiResource' responses: '200': description: The updated customer object. content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiResource' components: schemas: JsonApiResource: type: object description: A JSON:API document containing a single resource object. properties: jsonapi: type: object properties: version: type: string data: $ref: '#/components/schemas/JsonApiResourceObject' links: type: object additionalProperties: type: string JsonApiResourceObject: type: object description: A single JSON:API resource object. properties: type: type: string description: The resource type, e.g. stores, products, subscriptions. id: type: string description: The unique resource ID. attributes: type: object description: The resource's attributes. additionalProperties: true relationships: type: object description: Related resources. additionalProperties: true links: type: object additionalProperties: type: string JsonApiCollection: type: object description: A JSON:API document containing a collection of resource objects. properties: jsonapi: type: object properties: version: type: string data: type: array items: $ref: '#/components/schemas/JsonApiResourceObject' links: type: object description: Pagination links (first, last, prev, next). additionalProperties: type: string meta: type: object properties: page: type: object properties: currentPage: type: integer from: type: integer lastPage: type: integer perPage: type: integer to: type: integer total: type: integer parameters: ResourceId: name: id in: path required: true description: The resource ID. schema: type: string securitySchemes: api_key: type: http scheme: bearer bearerFormat: apiKey description: Bearer authentication using a Lemon Squeezy API key. Requests must also send Accept and Content-Type headers of application/vnd.api+json.