# Create Permission Taxonomy To create a new permission taxonomy, submit a POST with the Content-Type set to "application/json". The body of the API call will be raw JSON and consists of 3 sections: * You may provide any number of permissions to allow entities in TerminalOne (organizations, agencies and/or advertisers) access to the taxonomy. These organization, agency, and advertiser IDs can be entered as comma separated values within the ‘permissions’ section of the body. To identify IDs for your customers, reach out to MediaMath Support or ask your customer to locate their IDs within TerminalOne's Admin module.  * Every taxonomy rolls up to a MediaMath data vendor entity. The data vendor ID will need to be provided when you create new taxonomies. This ID will be provided to you by the partnerships team. * This describes the way in which the taxonomy will be shared in TerminalOne. This will be a hierarchical tree structure format (root node > leaf node > leaves). ### Example Taxonomy (Permissioned) JSON ### Segment Codes : If you are using a segment code that is not a 32-bit integer, pass an optional parameter as part of the JSON request. Additionally, ensure the user files delivered to the MediaMath server note the declaration to ensure proper processing and handling of the user files and taxonomy. ### Segment Name : Segment name values should not exceeded 255 characters. If you are using a segment name that does not contain latin alphabetic letters then you can convert the name to an ASCII value and pass the encoded name in the POST request. It will then display in the orginal text in T1. Please make sure the ASCII value is encoded using HTML Entities. ### API Response Upon issuing a POST to create the taxonomy, you'll note the following within the : * represents the taxonomy object in our database and rolls up to your data vendor ID. When updating the taxonomy, reference this ID. * represents the individual taxonomy and must be referenced when you want to update the taxonomy. id* represents the MediaMath object you have just created. When updating a taxonomy, include id to ensure the objects - non-buyable nodes or individual segments - are processed as updates and not new additions to the taxonomy. * represents the revenue share agreed upon with MediaMath. * represents the amount the data vendor will accrue when the segment is inclusion or exclusion targeted within a TerminalOne strategy.  * will equal "GLOBAL" for all public taxonomies and "RESTRICTED" for all permissioned, or private, taxonomies. Responses for permissioned taxonmies will not include this optional parameter; API responses for global taxonomies will always include the parameter. ### Example Taxonomy (Permissioned) Creation Response JSON Endpoint: POST /audience_segments Version: 2.0 Security: OAuth2 ## Request fields (application/json): - `permissions` (object, required) - `permissions.organizations` (array) - `permissions.agencies` (array) - `permissions.advertisers` (array) - `vendor_id` (integer, required) - `taxonomy` (object, required) - `taxonomy.name` (string, required) Taxonomy name values should not exceeded 255 characters. - `taxonomy.children` (array, required) - `taxonomy.children.name` (string, required) Segment name values should not exceeded 255 characters. - `taxonomy.children.buyable` (boolean, required) - `taxonomy.` (string) - `use_hash` (boolean) If you are using a segment code that is not a 32-bit integer, pass an optional parameter use_hash:true as part of the JSON body. ## Response 201 fields (application/json): - `meta` (object) - `meta.status` (string) - `data` (object) - `data.permissions` (object) - `data.permissions.organizations` (array) - `data.permissions.agencies` (array) - `data.permissions.advertisers` (array) - `data.taxonomy` (object) - `data.taxonomy.name` (string) - `data.taxonomy.id` (integer) - `data.taxonomy.children` (array) - `data.taxonomy.children.retail_cpm` (integer) - `data.taxonomy.children.code` (string) - `data.taxonomy.children.buyable` (boolean) - `data.taxonomy.children.wholesale_cpm` (integer) - `data.taxonomy.children.uniques` (integer) - `data.audience_vendor_id` (integer) - `data.taxonomy_id` (integer) - `data.revenue_share_pct` (integer)