Added identity providers —
Check the API reference
LogoLogo
Other APIsChangelog
  • Welcome to Provisioning API
  • Getting started
    • API specification
    • Authorization
    • Applications
  • API reference
    • API credentials
      • The API credential object
      • Create an API credential
      • List all API credentials
      • Retrieve an API credential
      • Update an API credential
      • Delete an API credential
    • Application memberships
      • The application membership object
      • Create an application membership
      • List all application memberships
      • Retrieve an application membership
      • Update an application membership
      • Delete an application membership
    • Identity providers
      • The identity provider object
      • Create an identity provider
      • List all identity providers
      • Retrieve an identity provider
      • Update an identity provider
      • Delete an identity provider
    • Memberships
      • The membership object
      • Create a membership
      • List all memberships
      • Retrieve a membership
      • Update a membership
      • Delete a membership
    • Organizations
      • The organization object
      • Create an organization
      • List all organizations
      • Retrieve an organization
      • Update an organization
    • Permissions
      • The permission object
      • Create a permission
      • List all permissions
      • Retrieve a permission
      • Update a permission
    • Roles
      • The role object
      • Create a role
      • List all roles
      • Retrieve a role
      • Update a role
    • User
      • The user object
      • Retrieve the user
      • Update the user
    • Versions
      • The version object
      • List all versions
      • Retrieve a version
On this page
  • Request
  • Arguments
  • Example
  1. API reference
  2. Permissions

Create a permission

How to create a permission via API

To create a new permission, send a POST request to the /api/permissions endpoint, passing the resource arguments in the request body.

Request

POST https://provisioning.commercelayer.io/api/permissions

Arguments

Body Parameter
Type
Required

type

string

Required

attributes.can_create

boolean

Required

attributes.can_read

boolean

Required

attributes.can_update

boolean

Required

attributes.can_destroy

boolean

Required

attributes.subject

string

Required

attributes.reference

string

Optional

attributes.reference_origin

string

Optional

attributes.metadata

object

Optional

relationships.role

object

Required

Example

The following request creates a new permission:

curl -g -X POST \
  'https://provisioning.commercelayer.io/api/permissions' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer {{your_access_token}}' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "permissions",
    "attributes": {
      "can_create": false,
      "can_read": false,
      "can_update": false,
      "can_destroy": false,
      "subject": ""
    },
    "relationships": {
      "role": {
        "data": {
          "type": "roles",
          "id": "ABCRtyUpBa"
        }
      }
    }
  }
}'

On success, the API responds with a 201 Created status code, returning the created resource object:

{
  "data": {
    "id": "xYZkjABcde",
    "type": "permissions",
    "links": {
      "self": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde"
    },
    "attributes": {
      "can_create": false,
      "can_read": false,
      "can_update": false,
      "can_destroy": false,
      "subject": "",
      "restrictions": {
        "foo": "bar"
      },
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANY-EXTERNAL-REFEFERNCE",
      "reference_origin": "ANY-EXTERNAL-REFEFERNCE-ORIGIN",
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "organization": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde/relationships/organization",
          "related": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde/organization"
        }
      },
      "role": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde/relationships/role",
          "related": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde/role"
        }
      },
      "versions": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde/relationships/versions",
          "related": "https://provisioning.commercelayer.io/api/permissions/xYZkjABcde/versions"
        }
      }
    }
  }
}
PreviousThe permission objectNextList all permissions

Last updated 7 months ago