* docs: migrate ui docs to docs universe * created yarn workspace * added eslint and tsconfig configurations * fix eslint configurations * fixed eslint configurations * shared tailwind configurations * added shared ui package * added more shared components * migrating more components * made details components shared * move InlineCode component * moved InputText * moved Loading component * Moved Modal component * moved Select components * Moved Tooltip component * moved Search components * moved ColorMode provider * Moved Notification components and providers * used icons package * use UI colors in api-reference * moved Navbar component * used Navbar and Search in UI docs * added Feedback to UI docs * general enhancements * fix color mode * added copy colors file from ui-preset * added features and enhancements to UI docs * move Sidebar component and provider * general fixes and preparations for deployment * update docusaurus version * adjusted versions * fix output directory * remove rootDirectory property * fix yarn.lock * moved code component * added vale for all docs MD and MDX * fix tests * fix vale error * fix deployment errors * change ignore commands * add output directory * fix docs test * general fixes * content fixes * fix announcement script * added changeset * fix vale checks * added nofilter option * fix vale error
69 lines
2.6 KiB
Plaintext
69 lines
2.6 KiB
Plaintext
---
|
||
description: 'Learn what publishable API keys are and how they can be used in the Medusa backend. Publishable API keys can be used to scope API calls with an API key.'
|
||
---
|
||
|
||
import DocCardList from '@theme/DocCardList';
|
||
import Icons from '@theme/Icon';
|
||
|
||
# Publishable API Keys
|
||
|
||
In this document, you’ll learn about Publishable API Keys and their architecture.
|
||
|
||
## Introduction
|
||
|
||
While using Medusa’s APIs, you might have to pass some query parameters for certain resources with every or most requests.
|
||
|
||
Taking Sales Channels as an example, you have to pass the Sales Channel’s ID as a query parameter to all the necessary endpoints, such as the List Products endpoint.
|
||
|
||
This is a tedious and error-prone process. This is where Publishable API Keys are useful.
|
||
|
||
Publishable API Keys can be used to scope API calls with an API key, determining what resources are retrieved when querying the API. Currently, they can be associated only with Sales Channels.
|
||
|
||
For example, you can associate an API key with a B2B channel, then, on the storefront, retrieve only products available in that channel using the API key.
|
||
|
||
---
|
||
|
||
## PublishableApiKey Entity Overview
|
||
|
||
The `PublishableApiKey` entity represents a publishable API key that is stored in the database. Some of its important attributes include:
|
||
|
||
- `id`: The ID of the publishable API key. This is the API key you’ll use in your API requests.
|
||
- `created_by`: The ID of the user that created this API key.
|
||
- `revoked_by`: The ID of the user that revoked this API key. A revoked publishable API key cannot be used in requests.
|
||
|
||
---
|
||
|
||
## Relation to Other Entities
|
||
|
||
### Sales Channels
|
||
|
||
A publishable API key can be associated with more than one sales channel, and a sales channel can be associated with more than one publishable API key.
|
||
|
||
The relation is represented by the entity `PublishableApiKeySalesChannel`.
|
||
|
||
---
|
||
|
||
## Custom Development
|
||
|
||
Developers can manage Publishable API Keys and use them when making requests to the Store APIs.
|
||
|
||
<DocCardList colSize={6} items={[
|
||
{
|
||
type: 'link',
|
||
href: '/development/publishable-api-keys/admin/manage-publishable-api-keys',
|
||
label: 'Admin: Manage Publishable API Keys',
|
||
customProps: {
|
||
icon: Icons['academic-cap-solid'],
|
||
description: 'Learn how to manage publishable API keys using Admin APIs.'
|
||
}
|
||
},
|
||
{
|
||
type: 'link',
|
||
href: '/development/publishable-api-keys/storefront/use-in-requests',
|
||
label: 'Storefront: Use in Requests',
|
||
customProps: {
|
||
icon: Icons['academic-cap-solid'],
|
||
description: 'Learn how to use publishable API keys in a storefront.'
|
||
}
|
||
},
|
||
]} /> |