openapi: 3.1.0 info: title: Givebutter Campaigns Contacts API version: 1.0.0 description: 'Best-effort OpenAPI 3.1 description of the Givebutter REST API covering campaigns, contacts, transactions, funds, households, tickets, plans, payouts, pledges, webhooks, and discount codes. Authentication uses Bearer-token authentication with an API key. Sourced from https://docs.givebutter.com/. ' contact: name: Givebutter API Docs url: https://docs.givebutter.com/reference/reference-getting-started servers: - url: https://api.givebutter.com/v1 description: Production security: - bearerAuth: [] tags: - name: Contacts paths: /contacts: get: summary: List contacts operationId: listContacts tags: - Contacts parameters: - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Page' - in: query name: email schema: type: string format: email responses: '200': description: Contacts content: application/json: schema: type: array items: $ref: '#/components/schemas/Contact' post: summary: Create a contact operationId: createContact tags: - Contacts requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Contact' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Contact' /contacts/{id}: parameters: - $ref: '#/components/parameters/IdInt' get: summary: Retrieve a contact operationId: getContact tags: - Contacts responses: '200': description: Contact content: application/json: schema: $ref: '#/components/schemas/Contact' patch: summary: Update a contact operationId: updateContact tags: - Contacts requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Contact' responses: '200': description: Updated delete: summary: Archive (soft delete) a contact operationId: deleteContact tags: - Contacts responses: '204': description: Archived components: parameters: Page: in: query name: page schema: type: integer minimum: 1 default: 1 PerPage: in: query name: per_page schema: type: integer minimum: 1 maximum: 100 default: 20 IdInt: in: path name: id required: true schema: type: integer schemas: Contact: type: object properties: id: type: integer first_name: type: string last_name: type: string emails: type: array items: type: object properties: type: type: string value: type: string format: email phones: type: array items: type: object properties: type: type: string value: type: string addresses: type: array items: type: object tags: type: array items: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: Bearer token authentication using a personal API key.