gigstack API
  1. Services
gigstack API
  • gigstack API, your fiscal infraestructure
  • Ping
    • Ping
    • Ping API (GET)
      GET
    • Ping API (POST)
      POST
    • Ping API (PUT)
      PUT
    • Ping API (DELETE)
      DELETE
  • Payments
    • Payments
    • Create a payment
      POST
    • List payments
      GET
    • Get payment by ID
      GET
  • Invoices
    • Invoices
    • Create an invoice
      POST
    • List invoices
      GET
    • Get invoice by ID
      GET
  • Clients
    • Clients
    • Create a client
      POST
    • List clients
      GET
    • Get client by ID
      GET
  • Services
    • Services
    • Create a service
      POST
    • List services
      GET
    • Get service by ID
      GET
  • Receipts
    • Receipts
    • Create a receipt
      POST
    • List receipts
      GET
    • Get receipt by ID
      GET
    • Update receipt
      PUT
    • Delete receipt
      DELETE
  • Webhooks
    • Webhooks
    • Create a webhook
    • List webhooks
    • Get webhook by ID
    • Delete webhook
  • Catalogs
    • Catalogs
    • List catalogs
    • Get catalog by ID
  • Connect
    • Connect
    • Create a team
    • List teams
    • Get team by ID
    • Update team
    • Get team onboarding URL and connection status
    • Get team members
    • Update team members
    • Remove team members
  1. Services

Services

Services#

The Services API allows you to manage your service catalog and offerings, enabling you to create standardized services for invoicing and payment processing.

Overview#

Use the Services API to:
Create and manage service offerings
Maintain a standardized service catalog
Set default pricing and descriptions
Integrate services with invoices
Track service usage and performance

Endpoints#

POST /v2/services#

Create a new service.
Authentication Required: Yes

Request Body#

{
  "name": "Web Development",
  "description": "Custom web application development services",
  "category": "Development",
  "price": 1500.0,
  "currency": "MXN",
  "unit": "hour",
  "taxRate": 16.0,
  "isActive": true,
  "metadata": {
    "skillLevel": "Senior",
    "estimatedHours": "40-80",
    "deliveryTime": "2-4 weeks"
  }
}

Parameters#

ParameterTypeRequiredDescription
namestringYesService name
descriptionstringNoService description
categorystringNoService category
pricenumberNoDefault service price
currencystringNoCurrency code (default: MXN)
unitstringNoPricing unit (hour, project, etc.)
taxRatenumberNoTax rate percentage
isActivebooleanNoService availability status
metadataobjectNoAdditional service information

Response#

Success Response (201 Created):
{
  "data": {
    "id": "service_789",
    "name": "Web Development",
    "description": "Custom web application development services",
    "category": "Development",
    "price": 1500.0,
    "currency": "MXN",
    "unit": "hour",
    "taxRate": 16.0,
    "isActive": true,
    "metadata": {
      "skillLevel": "Senior",
      "estimatedHours": "40-80",
      "deliveryTime": "2-4 weeks"
    },
    "timestamp": "2024-01-15T10:30:00.000Z"
  },
  "message": "Service created successfully"
}

GET /v2/services#

List services with optional filtering.
Authentication Required: Yes

Query Parameters#

ParameterTypeDescription
limitnumberNumber of results to return (default: 20, max: 100)
offsetnumberNumber of results to skip
namestringFilter by service name (partial match)
categorystringFilter by service category
isActivebooleanFilter by active status
minPricenumberFilter by minimum price
maxPricenumberFilter by maximum price

Response#

Success Response (200 OK):
{
  "data": [
    {
      "id": "service_789",
      "name": "Web Development",
      "description": "Custom web application development services",
      "category": "Development",
      "price": 1500.0,
      "currency": "MXN",
      "unit": "hour",
      "isActive": true,
      "timestamp": "2024-01-15T10:30:00.000Z"
    }
  ],
  "message": "Services retrieved successfully",
  "totalResults": 1,
  "hasMore": false,
  "next": null
}

GET /v2/services/{serviceId}#

Get a specific service by ID.
Authentication Required: Yes

Response#

Success Response (200 OK):
{
  "data": {
    "id": "service_789",
    "name": "Web Development",
    "description": "Custom web application development services",
    "category": "Development",
    "price": 1500.0,
    "currency": "MXN",
    "unit": "hour",
    "taxRate": 16.0,
    "isActive": true,
    "metadata": {
      "skillLevel": "Senior",
      "estimatedHours": "40-80",
      "deliveryTime": "2-4 weeks"
    },
    "timestamp": "2024-01-15T10:30:00.000Z"
  },
  "message": "Service retrieved successfully"
}

PUT /v2/services/{serviceId}#

Update an existing service.
Authentication Required: Yes

Request Body#

{
  "price": 1800.0,
  "description": "Premium web application development services",
  "isActive": true
}

DELETE /v2/services/{serviceId}#

Delete a service.
Authentication Required: Yes
Note: Services referenced in invoices cannot be deleted.

Service Categories#

Common service categories include:
CategoryDescription
DevelopmentSoftware and web development
DesignUI/UX and graphic design
ConsultingBusiness and technical consulting
MarketingDigital marketing services
SupportTechnical support and maintenance
TrainingEducational and training services

Code Examples#

Create a Service#

JavaScript/Node.js:
Python:

List and Filter Services#

cURL:

Integration with Invoices#

Use services when creating invoice line items:
JavaScript Example:

Error Handling#

Common Error Responses#

Validation Error (400 Bad Request):
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request parameters",
    "details": {
      "name": "Service name is required",
      "price": "Price must be greater than 0",
      "taxRate": "Tax rate must be between 0 and 100"
    }
  },
  "message": "Request validation failed"
}
Duplicate Service Error (409 Conflict):
{
  "error": {
    "code": "DUPLICATE_SERVICE",
    "message": "A service with this name already exists in this category"
  },
  "message": "Service name must be unique within category"
}

Best Practices#

1.
Clear Naming: Use descriptive, unique service names
2.
Categorization: Organize services into logical categories
3.
Pricing Consistency: Maintain consistent pricing structures
4.
Regular Updates: Keep service information current
5.
Active Status: Use the isActive flag to manage service availability
6.
Metadata Usage: Store additional service details in metadata

Service Templates#

Create service templates for common offerings:

Next Steps#

Create invoices using services
Set up service-based pricing
Manage service catalog organization
Modified at 2025-06-11 04:58:15
Previous
Get client by ID
Next
Create a service
Built with