Medusa
Open-source commerce: orders, products and customers.
Explore authentication, permissions and available actionsExact inputs, sign-in scopes, access limits and approval rules.
- Status: Needs setup. It works once you've done the steps under Before you connect.
- Connects through: a custom API connection.
- Category: E-commerce
- Open source. Works on your own servers too: give your own address when you connect.
What hires can do
Open-source commerce: orders, products and customers.
Hires work with Medusa's API through Roster, under the address you give and only on the paths you allow. Without an OpenAPI document they get two tools: one to read (GET) and one to send (POST, PUT, PATCH or DELETE). With a document, they get one tool per operation in it, each marked as reading or changing things.
Before you connect
- Base address:
https://<your-medusa>/admin
Make the key
- On your Medusa's own address: once you've typed it on the form, Roster shows Open Medusa's key page, which goes to
{baseUrl}/../app/settings/secret-api-keys. - Click Create, name it Roster, save, and copy the key. Paste it as the username; the password is any single character.
- Paste it on the form. It looks like
sk_…; Roster tells you as you type if it doesn't. When you connect, Roster checks it with Medusa and shows whose account it is.
Connect it
- Open Integrations → Tools → Add a tool, search for Medusa and choose it.
- Base address: your API's address.
- How it signs in: Username and password is chosen for you. Paste the key you made.
- Click Connect, then Test connection. Untick any tool no hire should use, and click Save tools.
More about these fields in Custom APIs.
Choose what each hire may do
Connecting Medusa gives it to no one. On a hire's Tools tab, click Give access on the connection:
- Read only: only GET requests, or the operations in the document that only read.
- Read and write: every tool you saved on the connection.
- Tools: if you like, only some of them for this hire.
- Paths: path prefixes this hire may call, like
/invoices. Leave empty for the whole API. Anything else is refused.
See Adding a tool.
When it asks first
On the connection, Ask before using starts at Tools that change things: every call to a tool that changes something waits for a person's approval in chat, and Roster makes exactly that call, once, when it's approved. Tools that only read never ask. Once you trust your hires with Medusa, you can change it to Only tools a hire is set to ask about.
To change it for one hire, or for single tools, use When it asks first on the hire's Tools tab (more).
Personal data
Medusa holds personal data about your customers, their addresses and their orders. Hires see what Medusa's tools return, shortened when it's very long, with the connection's own token or password taken out. Roster doesn't take anything else out. Give access only to hires whose work needs it, choose Read only where that's enough, and untick tools that return more than the work needs. Everything a hire does here is on its timecard.
Good to know
- Hires use Medusa while they work on something; changes in Medusa don't wake them. To have a hire check it regularly, give it a responsibility on a schedule.
- Without an OpenAPI document, hires get only the general read and send tools, and work out the API's paths from Medusa's docs.
- A Medusa you run yourself works when Roster can reach its address.
- If the sign-in expires or is revoked, hires are told plainly; click Reconnect on the connection.
Learn more
Tools and permissions reference
This reference is built from the same definitions Roster uses to connect Medusa and give hires access. It updates with each release.
Authentication and requested permissions
The account or app you connect sets the outer limit. Each hire's access can narrow it further. Connecting a tool gives it to no hire until you give access on that hire's Tools tab.
API authentication
Choose the API's sign-in method in the connection fields below. The available choices, credential fields and scope field are shown there; they depend on your service rather than a fixed OAuth permission list.
No fixed permission list is declared for this connection. Review the sign-in consent screen, the account's roles, and the service's own documentation before connecting.
Connection fields
| Field | What to provide |
|---|---|
Base addressbaseUrlRequired | Every call stays under this address. Addresses on your own network work too. |
How it signs inauthTypeOptional | Use the value for your account or connection. Choices: Bearer token (bearer); API key in a header (header); Username and password (basic); OAuth client credentials (client_credentials); No sign-in (none). Starts with: |
Token or keytokenOptional · sealed secret | Use the value for your account or connection. Shown when |
Header nameheaderNameOptional | Use the value for your account or connection. Starts with: Shown when |
UsernameusernameOptional | Use the value for your account or connection. Shown when |
PasswordpasswordOptional · sealed secret | Use the value for your account or connection. Shown when |
Token addresstokenUrlOptional | Use the value for your account or connection. Shown when |
Client IDclientIdOptional | Use the value for your account or connection. Shown when |
Client secretclientSecretOptional · sealed secret | Use the value for your account or connection. Shown when |
ScopescopeOptional | Use the value for your account or connection. Shown when |
OpenAPI documentopenapiUrlOptional | Its address, so hires get one tool per operation. Or upload the file when you test the connection. |
Extra headersheadersOptional | Sent with every call, one per line as Name: value. Not for secrets: put those above. |
Ask before usingaskFirstOptional | With “Tools that change things”, a hire's call to any tool here that changes something waits for a person's approval in chat, and runs exactly as asked once approved. New connections start there; choose the other option once you trust the hires with this connection. Each hire's Tools tab can also ask for single tools. Choices: Only tools a hire is set to ask about (never); Tools that change things (writes). Starts with: |
Per-hire limits
Read-only hires receive only actions that read. Read-and-write access also allows actions that change things, where the connection itself permits them. An empty resource allowlist usually means everything the connected account can reach; each field below explains its meaning.
| Field | What to provide |
|---|---|
ToolstoolsOptional | Leave empty for every tool on this connection. |
PathspathsOptional | Path prefixes this hire may call, like /invoices. Leave empty for the whole API. |
Actions
Actions come from your OpenAPI document. Without a document, hires use general read (GET) and send (POST, PUT, PATCH, DELETE) actions on the paths you allow.
Use Test connection to inspect the exact names, descriptions and read/write classifications; select the actions and Save tools. Retest when the service changes. A server's read-only labels are supplied by that server: review them before granting access.
Watches and incoming events
- No built-in watch is declared. Give a hire a scheduled responsibility if it should check this service regularly.
- No incoming webhook handler is declared for this integration.
Limits and troubleshooting
- Permission errors: check both the connected account's rights and the hire's resource and read/write limits.
- Expired or revoked access: reconnect or replace the key on the connection.
- Rate limits and unavailable services can interrupt work. The hire's timecard records the outcome.
- The action schema describes accepted inputs. It does not grant additional access or bypass approvals.