openapi: 3.1.0 info: title: Gorgias REST Account Customers API description: Best-effort OpenAPI 3.1 for the Gorgias REST API, covering tickets, messages, customers, integrations, macros, rules, tags, teams, users, views, surveys, and widgets. Gorgias uses per-account subdomains ({account}.gorgias.com) and supports HTTP Basic authentication with an API key or OAuth2 for public apps. version: '2024-01-01' servers: - url: https://{account}.gorgias.com variables: account: default: example description: Account subdomain security: - basicAuth: [] - oauth2: - openid - accounts.read - tickets.read - tickets.write - customers.read - customers.write tags: - name: Customers paths: /api/customers: get: tags: - Customers summary: List customers operationId: listCustomers parameters: - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/Limit' - in: query name: email schema: type: string - in: query name: external_id schema: type: string responses: '200': description: Customers content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Customer' meta: $ref: '#/components/schemas/Meta' post: tags: - Customers summary: Create customer operationId: createCustomer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Customer' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Customer' /api/customers/{id}: get: tags: - Customers summary: Retrieve a customer operationId: getCustomer parameters: - $ref: '#/components/parameters/Id' responses: '200': description: Customer put: tags: - Customers summary: Update a customer operationId: updateCustomer parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Customer' responses: '200': description: Customer delete: tags: - Customers summary: Delete a customer operationId: deleteCustomer parameters: - $ref: '#/components/parameters/Id' responses: '204': description: Deleted components: schemas: Meta: type: object properties: next_cursor: type: string nullable: true previous_cursor: type: string nullable: true Customer: type: object properties: id: type: integer external_id: type: string nullable: true firstname: type: string lastname: type: string name: type: string email: type: string format: email language: type: string timezone: type: string channels: type: array items: type: object meta: type: object created_datetime: type: string format: date-time updated_datetime: type: string format: date-time parameters: Cursor: name: cursor in: query schema: type: string Id: name: id in: path required: true schema: type: integer Limit: name: limit in: query schema: type: integer default: 30 maximum: 100 securitySchemes: basicAuth: type: http scheme: basic description: Use account email as username and API key as password oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{account}.gorgias.com/oauth/authorize tokenUrl: https://{account}.gorgias.com/oauth/token scopes: openid: OpenID accounts.read: Read account tickets.read: Read tickets tickets.write: Write tickets customers.read: Read customers customers.write: Write customers