Invite a merchant member
Invite an email to join the merchant with a role. Core resolves the merchant's organization before authorization. Requires merchant:members:write on the merchant, from direct or inherited roles. An existing pending invitation returns 200 and sends no email. A new invitation returns 201 and sends an email built from accept_url. The invitee accepts or rejects the invitation through their user invitation routes.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Path Parameters
The merchant ID from the sales app.
uuidRequest Body
application/json
Request to invite an email to join the merchant with a role.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/merchants/550e8400-e29b-41d4-a716-446655440001/invitations" \ -H "Content-Type: application/json" \ -d '{ "email": "jane@example.com", "role": "merchant-financing-admin", "accept_url": "https://app.greenwheels.example/invitations/accept" }'{ "id": "550e8400-e29b-41d4-a716-446655440002", "merchant_id": "550e8400-e29b-41d4-a716-446655440001", "organization_id": "greenwheels", "email": "jane@example.com", "role": "merchant-financing-admin", "status": "PENDING", "created_at": "2026-03-15T10:00:00Z", "resource_id": "string"}{ "id": "550e8400-e29b-41d4-a716-446655440002", "merchant_id": "550e8400-e29b-41d4-a716-446655440001", "organization_id": "greenwheels", "email": "jane@example.com", "role": "merchant-financing-admin", "status": "PENDING", "created_at": "2026-03-15T10:00:00Z", "resource_id": "string"}{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "FORBIDDEN", "description": "Forbidden"}{ "id": "550e8400-e29b-41d4-a716-446655440002", "merchant_id": "550e8400-e29b-41d4-a716-446655440001", "organization_id": "greenwheels", "email": "jane@example.com", "role": "merchant-financing-admin", "status": "PENDING", "created_at": "2026-03-15T10:00:00Z", "resource_id": "string"}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}List pending invitations GET
List the merchant's pending member invitations. Core resolves the merchant's organization before authorization. Requires `merchant:members:read` on the merchant, from direct or inherited roles. Returns every match. The response is not paginated.
Revoke an invitation DELETE
Cancel the merchant's pending member invitation. Core resolves the merchant's organization before authorization. Requires `merchant:members:write` on the merchant, from direct or inherited roles. Returns 204 when the invitation does not exist or is no longer pending.