# Perkstar Developers > Build reliable loyalty, POS, CRM, and commerce integrations with the Perkstar API. ## Docs - [Get a card](https://developers.perkstar.co.uk/api-reference/cards/get-a-card.md) - [List cards](https://developers.perkstar.co.uk/api-reference/cards/list-cards.md) - [Anonymize (GDPR Article 17 erasure) a customer](https://developers.perkstar.co.uk/api-reference/customers/anonymize-gdpr-article-17-erasure-a-customer.md) - [Create or upsert a customer](https://developers.perkstar.co.uk/api-reference/customers/create-or-upsert-a-customer.md): When `external_ref` is supplied, the endpoint upserts on the unique `(orgId, externalRef)` key: • Existing match → returns the existing record with HTTP 200. No fields are overwritten. • No match → creates a new customer, HTTP 201. - [Get a customer](https://developers.perkstar.co.uk/api-reference/customers/get-a-customer.md) - [List customers](https://developers.perkstar.co.uk/api-reference/customers/list-customers.md) - [Update a customer](https://developers.perkstar.co.uk/api-reference/customers/update-a-customer.md) - [Create an enrollment](https://developers.perkstar.co.uk/api-reference/enrollments/create-an-enrollment.md) - [Get an enrollment](https://developers.perkstar.co.uk/api-reference/enrollments/get-an-enrollment.md) - [List enrollments](https://developers.perkstar.co.uk/api-reference/enrollments/list-enrollments.md) - [Update an enrollment](https://developers.perkstar.co.uk/api-reference/enrollments/update-an-enrollment.md) - [List locations](https://developers.perkstar.co.uk/api-reference/locations/list-locations.md) - [Auth check + org context](https://developers.perkstar.co.uk/api-reference/marketplace/auth-check-+-org-context.md): Confirms the API key is valid + returns the operator's org context (name, currency, timezone) and the available cards. First call every POS adapter makes on install. - [Find-or-create customer + enrolment (no transaction)](https://developers.perkstar.co.uk/api-reference/marketplace/find-or-create-customer-+-enrolment-no-transaction.md): Same identifier resolution + create-on-miss as `/marketplace/accrue`, but without posting a transaction. - [Find-or-create customer + post transaction in one call](https://developers.perkstar.co.uk/api-reference/marketplace/find-or-create-customer-+-post-transaction-in-one-call.md): Resolves the customer in this fixed priority order: 1. card_serial → POS barcode or legacy pass serial → customer 2. external_ref → (orgId, externalRef) lookup 3. email (case-insensitive) 4. phone (exact string) - [Reverse a previously-posted transaction](https://developers.perkstar.co.uk/api-reference/marketplace/reverse-a-previously-posted-transaction.md): Creates a compensating Transaction row whose `delta` is the negation of the original's, linked via `reverses_transaction_id`. Fires `TRANSACTION_CREATED` so partner webhooks notice the reversal end-to-end. - [Send a wallet push](https://developers.perkstar.co.uk/api-reference/pushes/send-a-wallet-push.md): Sends a marketing wallet push to a specific enrolment. The customer must have push-marketing consent enabled, otherwise the endpoint returns 403 with `push_marketing_consent_required`. - [Bulk-delete every test-mode transaction for the org](https://developers.perkstar.co.uk/api-reference/transactions/bulk-delete-every-test-mode-transaction-for-the-org.md): Sandbox cleanup. Requires a `pk_test_…` key — live keys are rejected with 403. Returns the row count deleted. Aggregates on Customer / Card / Enrollment do not need recomputing because test rows never contributed to them. - [List transactions](https://developers.perkstar.co.uk/api-reference/transactions/list-transactions.md) - [Post a transaction (stamp / redeem / adjust)](https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust.md) - [Create a webhook (returns signing secret ONCE)](https://developers.perkstar.co.uk/api-reference/webhooks/create-a-webhook-returns-signing-secret-once.md) - [Delete a webhook](https://developers.perkstar.co.uk/api-reference/webhooks/delete-a-webhook.md) - [Get a webhook](https://developers.perkstar.co.uk/api-reference/webhooks/get-a-webhook.md) - [List webhooks](https://developers.perkstar.co.uk/api-reference/webhooks/list-webhooks.md) - [Update a webhook](https://developers.perkstar.co.uk/api-reference/webhooks/update-a-webhook.md) - [Changelog](https://developers.perkstar.co.uk/changelog.md): Developer-facing changes to the Perkstar API, SDK, and integration guidance. - [Authentication and scopes](https://developers.perkstar.co.uk/fundamentals/authentication.md): Protect API credentials and grant only the permissions an integration needs. - [Errors and request tracing](https://developers.perkstar.co.uk/fundamentals/errors.md): Handle Perkstar API failures consistently and give support enough detail to trace them. - [Idempotency and retries](https://developers.perkstar.co.uk/fundamentals/idempotency.md): Retry requests without adding the same stamp, point award, or enrolment twice. - [Pagination](https://developers.perkstar.co.uk/fundamentals/pagination.md): Traverse large customer, enrolment, transaction, card, and webhook collections safely. - [Test mode](https://developers.perkstar.co.uk/fundamentals/test-mode.md): Exercise an integration without changing live customer balances or configuration. - [Synchronise customers](https://developers.perkstar.co.uk/guides/customer-sync.md): Match customer records without duplicates and preserve consent correctly. - [Connect Odoo](https://developers.perkstar.co.uk/guides/odoo.md): A production pattern for syncing Odoo contacts and POS orders with Perkstar. - [Build a POS integration](https://developers.perkstar.co.uk/guides/pos.md): Connect a till to Perkstar with safe customer matching, loyalty accrual, and refunds. - [Send push notifications](https://developers.perkstar.co.uk/guides/wallet-pushes.md): Send a customer-safe wallet push or simulate delivery in test mode. - [Receive webhooks](https://developers.perkstar.co.uk/guides/webhooks.md): Verify signed Perkstar events, handle retries, and reconcile missed deliveries. - [Perkstar developer platform](https://developers.perkstar.co.uk/index.md): Connect POS, CRM, commerce, and back-office systems to Perkstar loyalty. - [Quickstart](https://developers.perkstar.co.uk/quickstart.md): Create a test key and make your first Perkstar API requests. - [TypeScript SDK](https://developers.perkstar.co.uk/sdks/typescript.md): Use the official typed Perkstar client with automatic retries, pagination, and webhook verification. - [Go-live checklist](https://developers.perkstar.co.uk/support/go-live-checklist.md): Verify security, correctness, and operational recovery before sending production traffic. - [Versioning and compatibility](https://developers.perkstar.co.uk/support/versioning.md): Understand Perkstar API versions, SDK releases, and safe upgrade practices. ## OpenAPI Specs - [openapi](https://developers.perkstar.co.uk/api/openapi.yaml)