> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sonderplan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Resource

> 
<Note>`WRITE` access to the `ADMIN` module is required to access this endpoint</Note>
<Tip>The `resourceCreated` webhook will be fired when this endpoint has run successfully</Tip><Warning>If you are using Sonderplan on a **Flexible Billing** plan, creating resources will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.</Warning>




## OpenAPI

````yaml /api-reference/openapi-mintlify.yaml post /v2/resource
openapi: 3.0.0
info:
  title: Sonderplan API
  description: >
    ## Overview

    You can use our REST API to securely access and modify the data within your
    Sonderplan account. This includes all the information within your bookings,
    projects and invoices that you can use to import / export data or create
    integrations with other systems and software that you use


    ### General Notes


    #### Specifying Fields

    The Sonderplan REST API allows you to specify a comma delimited string of
    exactly which fields are returned, using the `fields` parameter. Using this
    parameter has several advantages including:


    1. In future API versions we may change which fields are presented by
    default, so explicitly specifying the fields required overrides the defaults
    and ensure the fields are served

    2. Limiting fields reduces the processing we need to do and allows us to
    send you the data faster

    3. Some search filters only work if the field you are searching is added to
    the `fields` parameter.


    Example:


    ```

    fields=id,name,start,duration_min

    ```


    ### Applying Filters


    The Query Parameters section in each endpoint shows you special options that
    can be added to your request to customise the response we send you.


    Most endpoints offer the following query params:


    | Query Parameter |
    Description                                                    |

    |-----------------|----------------------------------------------------------------|

    | `fields`        | Only send the specified
    fields                                 |

    | `id`            | Specify one or more ids (comma seperated) of records to
    return |

    | `limit`         | The maximum number of records to
    return                        |

    | `page`          | The page number of records to
    return                           |

    | `order_asc` | Specify which field should be used to sort records
    `ascending` |

    | `order_desc` | Specify which field should be used to sort records
    `descending` |


    In addition to the standard `id` param, you can also specify most other
    fields as a query parameter, useful for performing searching and filtering
    of records.


    For example, you can specify `repeat_master_id=<repeat_booking_id>` to
    return all repeat children of that booking.


    #### Other Query Params


    Refer to the specific API endpoint documentation to see which other query
    params can be used.


    For example, some endpoints allow specifying `updated_after=<UNIX
    TIMESTAMP>` which will only send added, edited and even deleted records that
    were modified after the unix timestamp.


    #### Applying multiple filters


    By default, multiple filters are chained together using **OR** (either
    filter can be true and it will be included). You can change this behaviour
    by specifying `filter_operator=AND`, so each filter must be true to be
    included.


    #### Filtering by Custom Field Values


    For modules that include custom fields, you can search by the value of a
    custom field by adding the `custom_field_<field id>` to the URL query
    parameters. You **must** also specify the custom field in the `fields`
    parameter.


    ```

    GET
    https://api.sonderplan.com/v2/booking?fields=id,name,custom_field_238938&custom_field_238938=Offline

    ```


    This will return custom fields that contain the word 'Offline'.
  contact:
    email: info@sonderplan.com
  version: '2.0'
servers:
  - url: https://api.sonderplan.com
    description: Production Server
security: []
tags:
  - name: Booking
    description: Booking related operations
  - name: Project
    description: Project related operations
  - name: Resource
    description: Resource related operations
  - name: Contact
    description: Contact related operations
  - name: Quote
    description: Quote related operations
  - name: Invoice
    description: Invoice related operations
  - name: Invoice Template
    description: Invoice template related operations
  - name: Billable Item
    description: Billable item related operations
  - name: Rate Scheme
    description: Rate scheme related operations
  - name: Tax
    description: Tax related operations
  - name: Workspace
    description: Workspace (formerly Schedule) related operations
  - name: User
    description: User related operations
  - name: Group
    description: Group related operations
  - name: Status
    description: Status related operations
  - name: Custom Field
    description: Custom field related operations
  - name: Calendar Subscription
    description: Calendar Subscription Import related operations
  - name: Time Entry
    description: Time Entry related operations
  - name: Time Activity
    description: Time Activity related operations
paths:
  /v2/resource:
    post:
      tags:
        - Resource
      summary: Create Resource
      description: >

        <Note>`WRITE` access to the `ADMIN` module is required to access this
        endpoint</Note>

        <Tip>The `resourceCreated` webhook will be fired when this endpoint has
        run successfully</Tip><Warning>If you are using Sonderplan on a
        **Flexible Billing** plan, creating resources will result in
        **additional charges** (calculated pro rata) being automatically charged
        to your credit card.</Warning>
      operationId: 085ee661588c428a3bb7fb34cd17f705
      requestBody:
        description: Resource object that needs to be added
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/Resource'
                - required:
                    - name
                    - type_id
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success'
        '401':
          description: Authorization information is missing or invalid
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notFound'
      security:
        - bearer: []
components:
  schemas:
    Resource:
      title: Resource Model
      description: Resource model
      type: object
      allOf:
        - properties:
            id:
              description: Automatically generated unique resource id
              type: integer
              readOnly: true
              example: 9458
            name:
              description: Name of the resource
              type: string
              example: Edit Suite 1
            description:
              description: Additional info about the resource
              type: string
              example: Sydney Office, Level 2
            type_id:
              description: >-
                1 = Room, 2 = Person, 3 = Equipment, 4 = Resource Group, 5 =
                Action
              type: integer
              enum:
                - 1
                - 2
                - 3
                - 4
                - 5
              example: 1
            type_person_id:
              description: >-
                Unique id of the person (only applies if this resource is a
                person)
              type: integer
              example: 0
            parent_id:
              description: Unique id of the resource group that this resource is a child of
              type: integer
              example: 2908
            order:
              description: >-
                Order of the resource in relation to other resources in the same
                group
              type: integer
              example: 4
            feed:
              description: >-
                iCalendar calendar feed URL. Contains all bookings that are
                booked to this resource
              type: string
              example: /feed/resource/0d17a654166d49a4337b65256...
            icon:
              type: array
              items:
                $ref: '#/components/schemas/FileSummary'
            workspaces:
              type: array
              items:
                $ref: '#/components/schemas/WorkspaceSummary'
            rates:
              description: Optional. Specify in the field parameter to return
              type: array
              items:
                $ref: '#/components/schemas/SingleResourceRate'
            color_background:
              description: Hex color value of the background
              type: string
              example: '#B0A7F1'
            color_text:
              description: Hex color value of the text
              type: string
              example: '#000000'
          type: object
        - $ref: '#/components/schemas/commonModelMeta'
    success:
      title: Success Response
      properties:
        success:
          properties:
            id:
              type: integer
              example: 1
          type: object
      type: object
    notFound:
      title: Not Found Response
      description: Class OpenApi
      properties:
        error:
          properties:
            code:
              description: The HTTP error code
              type: integer
              example: '404'
            message:
              description: More detail on the error encountered
              type: string
              example: Requested resource was not found
          type: object
      type: object
    FileSummary:
      title: File Summary Model
      description: Simplified file model containing only a subset of fields
      properties:
        id:
          description: Automatically generated File ID
          type: integer
          readOnly: true
          example: 2342354
        name:
          description: Original file name
          type: string
          example: Avid_Icon
        size:
          description: File size (in bytes)
          type: integer
          example: 174285
        alias:
          description: Automatically generated file alias
          type: string
          example: 7e73ab25155974c230d09494548201b9f5056ef
        extension:
          description: File extension
          type: string
          example: png
        mime_type:
          description: File mime type
          type: string
          example: image/png
      type: object
    WorkspaceSummary:
      title: Workspace Summary Model
      description: Workspace model summarised
      properties:
        id:
          description: Automatically generated unique workspace id
          type: integer
          example: 9458
        name:
          description: Name of the workspace
          type: string
          example: Sydney Studio
        description:
          description: Additional info about the workspace
          type: string
          example: Sydney Office, Level 2
      type: object
    SingleResourceRate:
      title: Single Resource Rate
      description: Single resource rate model
      properties:
        id:
          description: Automatically generated unique rate id
          type: integer
          example: 9458
        type_id:
          description: 9 = Base, 10 = Weekend, 11 = Public Holiday
          type: integer
          example: 9
        hour_buy_cost:
          description: The buy cost of this resource, per hour
          type: integer
          format: float
          example: 62.2
        hour_sell_cost:
          description: The sell cost of this resource, per hour
          type: integer
          format: float
          example: 100
        day_buy_cost:
          description: The buy cost of this resource, per day
          type: integer
          format: float
          example: 560
        day_sell_cost:
          description: The sell cost of this resource, per day
          type: integer
          format: float
          example: 1000
        week_buy_cost:
          description: The buy cost of this resource, per week
          type: integer
          format: float
          example: 1000
        week_sell_cost:
          description: The sell cost of this resource, per week
          type: integer
          format: float
          example: 3500
        date_start:
          description: Date start of this rate in YYYY-MM-DD format
          type: string
          example: '2023-01-01'
        date_end:
          description: Date end of this rate in YYYY-MM-DD format
          type: string
          example: '2023-12-31'
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceItemTaxes'
        currency:
          description: Currency code (three character format)
          type: string
          example: AUD
      type: object
    commonModelMeta:
      title: Common Meta Model
      properties:
        created_id:
          description: The unique ID of the person (user) who created this record
          type: integer
          readOnly: true
          example: 3
        created:
          description: The UNIX time value of the creation time
          type: integer
          readOnly: true
          example: 1388552400
        updated_id:
          description: The unique ID of the person (user) who last updated this record
          type: integer
          readOnly: true
          example: 3
        updated:
          description: The UNIX time value of the last update
          type: integer
          readOnly: true
          example: 1388552400
      type: object
    InvoiceItemTaxes:
      title: Invoice Item Taxes
      description: Standard invoice item taxes model that returns tax information
      properties:
        id:
          description: Unique id of the tax applied
          type: integer
          example: 3247
        name:
          description: Name of the tax
          type: string
          example: GST
        rate:
          description: Rate of the tax
          type: string
          example: '10.00'
        total:
          description: Total amount of tax
          type: string
          format: float
          example: '151.00'
      type: object
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````