# Laces > The Laces Partner API: show your organization's races on your own website and take registrations and payment, by hosted redirect, an embedded modal or your own UI. - [Laces Partner API](https://docs.laces.run/index.md): Show your organization's races on your own website and sell entries, with a hosted page, an embedded modal or your own checkout. - [Quickstart](https://docs.laces.run/quickstart.md): Get your keys, list your events and complete a real registration through Laces checkout in about ten minutes. - [Getting your API keys](https://docs.laces.run/api-keys.md): Create an API key in the Laces app, copy the one-time secret, choose permissions and domains, and regenerate or revoke it later. - [Authentication](https://docs.laces.run/authentication.md): OAuth 2.0 client credentials for your server, and the publishable key for your web pages. - [Hosted checkout](https://docs.laces.run/guides/hosted-checkout.md): Send the buyer to a Laces checkout page and back to your site. No payment UI to build; works on a static site. - [Embedded checkout](https://docs.laces.run/guides/embedded-checkout.md): Open Laces checkout in a modal on your own page with laces.js. The buyer never leaves your site. - [Custom UI](https://docs.laces.run/guides/custom-ui.md): Render events and take the order in your own UI. Your server creates and pays orders with an OAuth token. - [Webhooks](https://docs.laces.run/guides/webhooks.md): Get told when an order is paid, fails or is refunded. Verify the signature, acknowledge fast, and handle repeats. - [Scopes](https://docs.laces.run/concepts/scopes.md): What each scope allows, which are on by default, and what a publishable key can never do. - [Errors](https://docs.laces.run/concepts/errors.md): The response envelope, the stable error_code values, and what to do about each. - [Idempotency](https://docs.laces.run/concepts/idempotency.md): Retry order creation and payment safely after a timeout, without holding places twice or charging twice. - [Pagination](https://docs.laces.run/concepts/pagination.md): List endpoints use opaque cursors, not page numbers. - [Rate limits](https://docs.laces.run/concepts/rate-limits.md): Per-client limits, the 429 response and Retry-After. - [Testing your integration](https://docs.laces.run/concepts/testing.md): There is no sandbox. Build against production with your live keys, safely: a private test event, free or low-price tickets, refunds, and Send test event for webhooks. - [Fees and totals](https://docs.laces.run/concepts/fees.md): The participant pays the ticket price plus the Laces fee. Show the fees Laces returns, and treat the order total as the amount due. - [Going live](https://docs.laces.run/going-live.md): The launch checklist for your integration: verify it end to end, tidy your keys and domains, and switch your site on. - [Changelog](https://docs.laces.run/changelog.md): Changes to the Laces Partner API and these docs. - [API reference (v1)](https://docs.laces.run/api-reference/v1/introduction.md): Base URL, authentication, and how to use the Try it playground with your own token. - [Health check](https://docs.laces.run/api-reference/v1/health.md): An unauthenticated liveness probe for uptime monitors. - [Create an access token](https://docs.laces.run/api-reference/v1/oauth/token.md): Exchange your client id and secret for a one-hour bearer token. Server-side only. - [List events](https://docs.laces.run/api-reference/v1/events/list.md): Your organization's races that are on sale, soonest first. - [Get an event](https://docs.laces.run/api-reference/v1/events/get.md): One event with its ticket types and the fees a participant pays for each. - [Create a checkout session](https://docs.laces.run/api-reference/v1/checkout-sessions/create.md): Start a Laces-hosted checkout for one event and get the URL to send the buyer to. - [Get a checkout session](https://docs.laces.run/api-reference/v1/checkout-sessions/get.md): Verify a hosted or embedded checkout on your server. - [Create an order](https://docs.laces.run/api-reference/v1/orders/create.md): Create a cart and hold places. No money moves until you pay it. - [Pay an order](https://docs.laces.run/api-reference/v1/orders/pay.md): Send a mobile money prompt, or confirm a free order. Card is coming soon. - [List orders](https://docs.laces.run/api-reference/v1/orders/list.md): Every order in your organization, newest first. Returns personal data. - [Get an order](https://docs.laces.run/api-reference/v1/orders/get.md): One order with its registrations. Returns personal data. - [order.paid](https://docs.laces.run/api-reference/v1/webhooks/order-paid.md): Sent when an order's payment is confirmed. - [order.failed](https://docs.laces.run/api-reference/v1/webhooks/order-failed.md): Sent when a payment attempt fails or expires. - [order.refunded](https://docs.laces.run/api-reference/v1/webhooks/order-refunded.md): Sent when a full or partial refund completes. - [ping](https://docs.laces.run/api-reference/v1/webhooks/ping.md): Sent only when you press Send test event in the Laces app. ## OpenAPI Specs - [openapi](/api-reference/v1/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.